mysql服务器启动日志
1Panel-mysql-2vhL | 2025-09-05 18:27:58+08:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.4.6-1.el9 started.1Panel-mysql-2vhL | 2025-09-05 18:27:58+08:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'1Panel-mysql-2vhL | 2025-09-05 18:27:58+08:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.4.6-1.el9 started.1Panel-mysql-2vhL | 2025-09-05T10:27:59.133711Z 0 [System] [MY-015015] [Server] MySQL Server - start.1Panel-mysql-2vhL | 2025-09-05T10:27:59.328055Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.4.6) starting as process 11Panel-mysql-2vhL | 2025-09-05T10:27:59.333804Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.1Panel-mysql-2vhL | 2025-09-05T10:28:01.226359Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.1Panel-mysql-2vhL | 2025-09-05T10:28:01.898632Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.1Panel-mysql-2vhL | 2025-09-05T10:28:01.898683Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.1Panel-mysql-2vhL | 2025-09-05T10:28:02.046873Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock1Panel-mysql-2vhL | 2025-09-05T10:28:02.047308Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.4.6' socket: '/var/lib/mysql/mysql.sock' port: 3306 MySQL Community Server - GPL.1Panel-mysql-2vhL | 2025-09-05T10:28:11.005728Z 8 [Warning] [MY-013360] [Server] Plugin mysql_native_password reported: ''mysql_native_password' is deprecated and will be removed in a future release. Please use caching_sha2_password instead太好了!这个日志完全揭示了真相,而且是个好消息!
核心发现:MySQL服务器实际上正在正常运行!
从日志中可以看到关键信息:
InnoDB initialization has ended.- 数据库初始化成功X Plugin ready for connections. Bind-address: '::' port: 33060- X插件启动成功(创建了mysqlx.sock)ready for connections. Version: '8.4.6' socket: '/var/lib/mysql/mysql.sock' port: 3306- 最重要的信息!MySQL服务器已启动并就绪
问题的根本原因
日志显示:MySQL服务器正在使用不同的socket文件路径!
MySQL配置的socket路径:
/var/lib/mysql/mysql.sockmysql客户端默认寻找的路径:
/var/run/mysqld/mysqld.sock
这两个路径不一致,所以mysql客户端找不到服务器!
解决方案
您有几种简单的方法可以解决这个路径不匹配的问题:
方法一:使用TCP连接(最简单,立即生效)
bash
复制
下载
# 使用TCP/IP协议而不是socket文件连接
mysql -h 127.0.0.1 -u root -p方法二:使用正确的socket路径连接
bash
复制
下载
# 使用MySQL实际使用的socket路径
mysql --socket=/var/lib/mysql/mysql.sock -u root -p方法三:创建符号链接(永久解决)
bash
复制
下载
# 创建目录(如果不存在)
mkdir -p /var/run/mysqld
# 创建符号链接,将客户端寻找的路径指向实际的socket文件
ln -sf /var/lib/mysql/mysql.sock /var/run/mysqld/mysqld.sock
# 设置正确的权限
chmod 755 /var/run/mysqld/
chown mysql:mysql /var/run/mysqld/方法四:修改MySQL配置(最彻底)
编辑MySQL配置文件,让服务器使用客户端期望的socket路径:
bash
复制
下载
# 编辑MySQL配置文件
vi /etc/mysql/my.cnf
# 在 [mysqld] 部分添加或修改 socket 配置
[mysqld]
socket = /var/run/mysqld/mysqld.sock
# 重启MySQL服务使配置生效您现在应该立即尝试的方法
在MySQL容器的终端中,直接使用正确的socket路径连接:
bash
复制
下载
mysql --socket=/var/lib/mysql/mysql.sock -u root -p这个命令应该能够立即成功连接!
总结
MySQL服务完全没有问题,正在正常运行! 问题只是简单的路径配置不匹配:
服务器端配置socket在:
/var/lib/mysql/mysql.sock客户端期望socket在:
/var/run/mysqld/mysqld.sock
使用--socket参数指定正确路径,或者创建符号链接,即可解决此问题。