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
相关推荐
数据库小学妹5 分钟前
MySQL binlog格式怎么选?ROW、STATEMENT、MIXED的区别与坑
数据库·mysql·binlog·主从复制·数据一致性
小冯不疯18 分钟前
查询旺店通货品策略实战教程:从源系统拉取到轻易云的端到端落地
java·大数据·数据库
花间相见22 分钟前
【计算基础|MySQL18】Buffer Pool 与内存管理
后端·sql·mysql
RacentCLM43 分钟前
HTTPS只在登录时有用?关于TLS的误解讲清
数据库·网络协议·https
杨云龙UP1 小时前
生产实战:Keepalived + Nginx + MySQL 双向复制高可用架构部署与原理详解
运维·数据库·mysql·nginx·架构·keepalived·高可用架构
代钦塔拉1 小时前
【C++/Qt 进阶】设计模式系列(7):过滤器模式——把“筛选条件“变成可组合的积木
数据库·系统架构
TDengine (老段)1 小时前
TDengine IDMP 十大亮点功能(一)
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
为思念酝酿的痛1 小时前
MySQL的基本查询
数据库·mysql
花间相见2 小时前
【计算基础|Redis01】【上手】安装连接、配置与通用命令
数据库·后端·面试