MySQL初始安装登录:ERROR 2003 (HY000): Can‘t connect to MySQL server on

安装环境:

bash 复制代码
[root@localhost ~]# hostnamectl
   Static hostname: (unset)
Transient hostname: localhost
         Icon name: computer-vm
           Chassis: vm 🖴
        Machine ID: 1d71fe6ef4c74a1684adcdaa8b7d4823
           Boot ID: bf812fd7a4374a74b891c8c55a6ebd1b
    Virtualization: vmware
  Operating System: CentOS Stream 9
       CPE OS Name: cpe:/o:centos:centos:9
            Kernel: Linux 5.14.0-527.el9.aarch64
      Architecture: arm64
   Hardware Vendor: VMware, Inc.
    Hardware Model: VMware20,1
  Firmware Version: VMW201.00V.24006586.BA64.2406042154
[root@localhost ~]#

MySQL版本:

bash 复制代码
[root@localhost ~]# mysql --version
mysql  Ver 8.0.36 for Linux on aarch64 (Source distribution)

安装完毕,远程登录报错:

bash 复制代码
➜  ~ mysql -h 192.168.86.129  -u root -p
Enter password:
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.86.129:3306' (61)

排查

1、开放端口
bash 复制代码
[root@localhost ~]# firewall-cmd --zone=public --permanent --add-port=3306/tcp
success
2、检查MySQL服务
bash 复制代码
[root@localhost ~]# systemctl status mysqld
● mysqld.service - MySQL 8.0 database server
     Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; preset: disabled)
     Active: active (running) since Sun 2024-12-29 19:55:39 CST; 1h 24min ago
   Main PID: 36797 (mysqld)
     Status: "Server is operational"
      Tasks: 39 (limit: 10104)
     Memory: 399.1M
        CPU: 51.468s
     CGroup: /system.slice/mysqld.service
             └─36797 /usr/libexec/mysqld --basedir=/usr
3、检查MySQL用户是否允许远程访问
bash 复制代码
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> SELECT user, host FROM mysql.user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+
4 rows in set (0.00 sec)

如果都为localhost,则根据规则设置允许远程访问

bash 复制代码
mysql> UPDATE mysql.user SET host = '%' WHERE user = 'root' AND host = 'localhost';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

设置完毕,此时再次尝试远程连接

bash 复制代码
➜  ~ mysql -h 192.168.86.129  -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.36 Source distribution

Copyright (c) 2000, 2024, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> exit;
Bye
相关推荐
ao-weilai12 分钟前
MySQL数据库:内置函数
android·数据库·mysql
LaughingZhu16 分钟前
Product Hunt 每日热榜 | 2026-10-02
数据库·人工智能·深度学习·神经网络·搜索引擎
天疆说1 小时前
腾讯会议 Linux 版在 NVIDIA 显卡上看不到画面:EGL 像素配置与窗口视觉不匹配的排查与修复
linux·数据库·腾讯会议
2603_969579281 小时前
中小团队数据库选型:MySQL vs PostgreSQL,业务场景怎么选
数据库·mysql·postgresql
IT大白鼠2 小时前
图数据库系列 · 第 06 篇——避坑汇总:经典生产问题
数据库·nosql·图库数据库
江湖有缘2 小时前
3开源Sqlite数据库管理工具整理合集,可Docker一键部署!
数据库·sqlite·开源
jyOverQ2 小时前
Redis 持久化怎么做?RDB、AOF 与混合持久化
数据库·redis
j7~2 小时前
【C++ 标准项目】发布订阅消息队列(篇四):sqlite 与 gtest 断言框架介绍及实战应用
数据库·sqlite·gtest·断言·事件机制·tset宏
于指尖飞舞2 小时前
mysql和redis面试题总结
数据库·redis·mysql