宝塔面板mysql服务启动失败

80次阅读
没有评论

查看故障日志,根据日志调整,本次日志如下:

2025-04-10T04:57:38.493524Z 0 [Note] Found ca.pem, server-cert.pem and server-key.pem in data directory. Trying to enable SSL support using them.
2025-04-10T04:57:38.493548Z 0 [Note] Skipping generation of SSL certificates as certificate files are present in data directory.
2025-04-10T04:57:38.493557Z 0 [Warning] A deprecated TLS version TLSv1 is enabled. Please use TLSv1.2 or higher.
2025-04-10T04:57:38.493561Z 0 [Warning] A deprecated TLS version TLSv1.1 is enabled. Please use TLSv1.2 or higher.
2025-04-10T04:57:38.493972Z 0 [Warning] CA certificate ca.pem is self signed.
2025-04-10T04:57:38.494000Z 0 [Note] Skipping generation of RSA key pair as key files are present in data directory.
2025-04-10T04:57:38.494052Z 0 [Note] Server hostname (bind-address): '*'; port: 3306
2025-04-10T04:57:38.494086Z 0 [Note] IPv6 is available.
2025-04-10T04:57:38.494091Z 0 [Note]   - '::' resolves to '::';
2025-04-10T04:57:38.494104Z 0 [Note] Server socket created on IP: '::'.
2025-04-10T04:57:38.494139Z 0 [ERROR] Unix socket lock file is empty /tmp/mysql.sock.lock.
2025-04-10T04:57:38.494142Z 0 [ERROR] Unable to setup unix socket lock file.
2025-04-10T04:57:38.494145Z 0 [ERROR] Aborting

尝试老办法 找到 /www/server/data/mysql-bin.index 文件清空,无效。

问豆包:

从你提供的新日志信息可知,MySQL 启动失败是由于无法设置 Unix 套接字锁文件,具体错误信息为 Unix socket lock file is empty /tmp/mysql.sock.lock 和 Unable to setup unix socket lock file。下面为你提供几种可能的解决办法:

1. 检查套接字文件和锁文件权限

Unix 套接字文件和锁文件的权限可能不正确,从而导致 MySQL 无法对其进行操作。你可以通过以下命令检查并修改权限:

# 检查文件权限
ls -l /tmp/mysql.sock.lock
ls -l /tmp/mysql.sock

# 修改权限
sudo chmod 660 /tmp/mysql.sock.lock
sudo chmod 660 /tmp/mysql.sock

# 修改文件所有者
sudo chown mysql:mysql /tmp/mysql.sock.lock
sudo chown mysql:mysql /tmp/mysql.sock

2. 删除套接字文件和锁文件并重启服务

有时,套接字文件和锁文件可能已损坏。你可以将其删除,然后尝试重新启动 MySQL 服务:

# 删除套接字文件和锁文件
sudo rm -f /tmp/mysql.sock.lock
sudo rm -f /tmp/mysql.sock

# 重启 MySQL 服务
sudo systemctl restart mysql

4. 检查配置文件

确保 MySQL 配置文件(通常是 /etc/mysql/my.cnf 或 /etc/my.cnf)中的套接字路径配置正确。查找配置文件中的 socket 参数,确保其指向正确的路径:

[mysqld]
socket = /tmp/mysql.sock

最终直接删除了mysql.sock.lock 后启动成功,问题解决。

正文完
 0
评论(没有评论)
验证码