用 systemctl start mysqld 启用mysql服务失败,失败后会有提示,让用 systemctl status mysqld 或者 journalctl -xe 来查看错误原因。
systemctl status mysqld 我没找到有用信息,去查/var/log/mysqld.log,发现mysqld.log是空,这条路走不通了。
用另一条命令试试:
journalctl -xe
注意到我选中的那行,意思是libstdc++.so.6这个公共库,没有访问权限,接下来就全局搜索下这个库文件在什么位置。
find / -name libstdc++.so.6
公共库文件的位置在 /usr/lib64/下,去这个目录,查看库文件的权限。
ls -l |grep libstdc
这里的libstdc++.so.6是个链接,原始文件叫 libstdc++.so.6.0.21,这个原始文件的权限是750,也就是只有root组可读可执行,而数据库运行是用的mysql组的mysql用户,因此无权限访问。
改文件权限为755:
chmod 775 libstdc++.so.6.0.21
最后,启动mysql服务
systemctl start mysqld
大功告成!