mysql5.7无法启动报错处理无日志

注意,本篇适用于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/*
相关推荐
J_bean2 小时前
MySQL 事务是否必须手动开启?
数据库·mysql·数据库事务·自动提交·手动提交
J_bean2 小时前
MySQL InnoDB 如何检测死锁、判定死锁、处理死锁
数据库·mysql·死锁·死锁检测·处理死锁·死锁判定
冰暮流星8 小时前
mysql之分组查询
数据库·mysql
NiceCloud喜云9 小时前
腾讯云国际版云数据库选型:MySQL、Redis 怎么按业务架构来判断
数据库·mysql·腾讯云
ew452189 小时前
MySQL JOIN 关联语法、差异、标准用法、经典坑点汇总
数据库·mysql
J_bean14 小时前
剖析 MySQL InnoDB 共享行锁 (S) & 排他行锁 (X)
数据库·mysql·共享行锁·s lock·排他行锁·x lock
技术长镜头14 小时前
别再只说“走 B+Tree”:一条 SQL 在 InnoDB 中的完整寻址过程
后端·mysql
一只fish1 天前
优化器架构对比:Oracle vs PostgreSQL vs MySQL
mysql·postgresql·oracle
buyue__1 天前
Python实现连接MySQL数据库并执行目录下的所有SQL文件,遇到错误时终止执行。
python·mysql
snow@li1 天前
MySQL:库表设计完整规范与实战方案
数据库·mysql