CentOS7系统安装MySQL5.7企业版后mysql与mysqld服务均无法启动求助
CentOS 7 环境MySQL 5.7企业版启动失败解决方案
1 解决mysql.service不存在报错
- 执行命令查询当前系统已注册的MySQL相关服务:
systemctl list-unit-files | grep -i mysql
无输出则说明安装过程中rpm包未完成systemd服务注册,属于商业版rpm安装常见的post脚本执行失败问题
- 重载systemd配置完成服务注册:
systemctl daemon-reload - 验证服务注册结果,再次执行查询命令,确认
mysqld.service已出现在输出列表中
若重载后仍无对应服务,手动创建
/usr/lib/systemd/system/mysqld.service文件,写入如下配置:
[Unit] Description=MySQL 5.7 Enterprise Server After=network.target syslog.target [Install] WantedBy=multi-user.target [Service] User=mysql Group=mysql ExecStart=/usr/sbin/mysqld --defaults-file=/etc/my.cnf LimitNOFILE=65535
创建完成后再次执行systemctl daemon-reload即可。
2 解决mysqld.service启动失败问题
- 首先提取详细错误日志定位根因:
systemctl status mysqld.service -ljournalctl -u mysqld.service --since today - 常见问题修复方案:
- 权限错误:默认数据目录
/var/lib/mysql所属用户组需为mysql,执行修复:chown -R mysql:mysql /var/lib/mysql && chmod -R 750 /var/lib/mysql
自定义数据目录需将上述路径替换为实际路径 - SELinux拦截:临时关闭SELinux验证是否为该问题:
setenforce 0
若关闭后可正常启动,执行如下命令永久修复SELinux上下文:semanage fcontext -a -t mysqld_db_t "/自定义数据目录路径(/.*)?"restorecon -Rv /自定义数据目录路径 - 配置错误:检查
/etc/my.cnf是否存在无效配置,执行命令验证配置有效性:mysqld --validate-config
如有ERROR级输出,对应修改配置即可 - 未初始化:全新安装未执行初始化操作会导致启动失败,手动执行初始化:
mysqld --initialize --user=mysql
初始化生成的临时密码会写入/var/log/mysqld.log,首次登录时使用即可
- 权限错误:默认数据目录
内容的提问来源于stack exchange,提问作者Saad Raza
相关产品推荐
相关产品推荐

