自己的阿里云数据库宕机了

102 阅读2分钟

只有2个G内存的服务器终于挂了,

[root@iZf8zd6gjqmdx8yymx6gntZ jar]# systemctl status mysqld.service

查看状态显示数据已经挂掉了。

[root@iZf8zd6gjqmdx8yymx6gntZ jar]# systemctl start mysqld

启动失败了。

遇到 Job for mysqld.service failed because the control process exited with error code 的错误

查看mysql日志:

tail -n 500 /var/log/mysqld.log

2024-09-03T14:03:26.131176Z 0 [ERROR] [MY-011300] [Server] Plugin mysqlx reported: 
'Setup of socket: '/var/run/mysqld/mysqlx.sock' failed, can't create lock file 
/var/run/mysqld/mysqlx.sock.lock' 2024-09-03T14:03:26.150040Z 0 [System] [MY-010229] [Server] Starting XA crash recovery... 2024-09-03T14:03:26.158071Z 0 
[System] [MY-010232] [Server] XA crash recovery finished. 2024-09-
03T14:03:26.231471Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self 
signed. 2024-09-03T14:03:26.231503Z 0 [System] [MY-013602] [Server] Channel 
mysql_main configured to support TLS. Encrypted connections are now supported for 
this channel. 2024-09-03T14:03:26.234057Z 0 [ERROR] [MY-011811] [Server] Can't 
start server: can't check PID filepath: No such file or directory

从日志信息来看,MySQL 在启动过程中遇到了几个问题。主要问题是:

  1. 无法创建锁文件:Plugin mysqlx reported: 'Setup of socket: '/var/run/mysqld/mysqlx.sock' failed, can't create lock file /var/run/mysqld/mysqlx.sock.lock'
  2. 无法检查 PID 文件路径:Can't start server: can't check PID filepath: No such file or directory 针对这些问题,我们可以采取以下步骤来解决:

步骤 1:检查目录权限

首先,检查 /var/run/mysqld 目录的权限和存在性:

ls -ld /var/run/mysqld

如果目录不存在,创建它:

sudo mkdir -p /var/run/mysqld

确保目录的所有者和权限正确:

sudo chown mysql:mysql /var/run/mysqld    
sudo chmod 755 /var/run/mysqld

步骤 2:检查锁文件和 PID 文件

删除可能存在的锁文件和 PID 文件:

sudo rm -f /var/run/mysqld/mysqlx.sock.lock
sudo rm -f /var/run/mysqld/mysql.pid

步骤 3:重新启动 MySQL 服务 重新启动 MySQL 服务:

sudo systemctl stop mysqld
sudo systemctl start mysqld

检查服务状态: systemctl status mysqld

[root@iZf8zd6gjqmdx8yymx6gntZ ~]# systemctl status mysqld
 mysqld.service - SYSV: MySQL database server.
   Loaded: loaded (/etc/rc.d/init.d/mysqld; generated)
   Active: active (running) since Tue 2024-09-03 22:08:37 CST; 9min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 9599 ExecStart=/etc/rc.d/init.d/mysqld start (code=exited, status=0/>
 Main PID: 9830 (mysqld)
    Tasks: 39 (limit: 11828)
   Memory: 502.8M
   CGroup: /system.slice/mysqld.service
           ├─9629 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socke>
           └─9830 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --pl>

9 03 22:08:35 iZf8zd6gjqmdx8yymx6gntZ systemd[1]: Starting SYSV: MySQL databa>
9 03 22:08:37 iZf8zd6gjqmdx8yymx6gntZ mysqld[9599]: Starting mysqld:  [  OK  ]
9 03 22:08:37 iZf8zd6gjqmdx8yymx6gntZ systemd[1]: mysqld.service: Supervising>
9 03 22:08:37 iZf8zd6gjqmdx8yymx6gntZ systemd[1]: Started SYSV: MySQL databas>
lines 1-16/16 (END)