注意,本篇适用于mysql安装启动异常,而不是数据库本身的异常。所以在/var/log/mysql/下没有日志。
journalctl -u mysqld -n 15 查看启动日志,提示缺少共享库libaio.so.1
Mar 26 16:47:01 iZbp19v3umnf1z4en78hnlZ systemd[1]: Starting MySQL Server...
Mar 26 16:47:01 iZbp19v3umnf1z4en78hnlZ mysqld_pre_systemd[2179]: /usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
Mar 26 16:47:01 iZbp19v3umnf1z4en78hnlZ systemd[1]: mysqld.service: control process exited, code=exited status=127
Mar 26 16:47:01 iZbp19v3umnf1z4en78hnlZ systemd[1]: Failed to start MySQL Server.
Mar 26 16:47:01 iZbp19v3umnf1z4en78hnlZ systemd[1]: Unit mysqld.service entered failed state.
Mar 26 16:47:01 iZbp19v3umnf1z4en78hnlZ systemd[1]: mysqld.service failed.
Mar 26 16:47:02 iZbp19v3umnf1z4en78hnlZ systemd[1]: mysqld.service holdoff time over, scheduling restart.
Mar 26 16:47:02 iZbp19v3umnf1z4en78hnlZ systemd[1]: Stopped MySQL Server.
解决方法,安装libaio
#解决方法centos,其余系统自行查找
yum install libaio -y
#查看库位置,并写入profile
[root@iZbp19v3umnf1z4en78hnlZ mysql]# find / -name libaio.so.1
/usr/lib64/libaio.so.1
vi /etc/profile
#尾部新增一行
export LD_LIBRARY_PATHfile=$LD_LIBRARY_PATH:/usr/lib64/
source /etc/profile
报错,看下日志journalctl -u mysqld -n 15,数据目录中已经存在一些文件或数据库,阻止了初始化过程,删除/var/lib/mysql/*目录下的内容
Mar 26 23:24:12 iZbp19v3umnf1z4en78hnlZ systemd[1]: Starting MySQL Server...
Mar 26 23:24:12 iZbp19v3umnf1z4en78hnlZ mysqld_pre_systemd[14057]: 2025-03-26T15:24:12.473997Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defa
Mar 26 23:24:12 iZbp19v3umnf1z4en78hnlZ mysqld_pre_systemd[14057]: 2025-03-26T15:24:12.475616Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
Mar 26 23:24:12 iZbp19v3umnf1z4en78hnlZ mysqld_pre_systemd[14057]: 2025-03-26T15:24:12.475654Z 0 [ERROR] Aborting
Mar 26 23:24:12 iZbp19v3umnf1z4en78hnlZ mysqld[14081]: Initialization of mysqld failed: 0
Mar 26 23:24:12 iZbp19v3umnf1z4en78hnlZ systemd[1]: mysqld.service: control process exited, code=exited status=1
解决方法
rm -rf /var/lib/mysql/*
