mysql8安装完成后, 启动失败, 根据提示systemctl status mysqld
及journal -xe
查看具体原因, 看不出个所以然来
由于修改了/etc/my.cnf
, 想去对应路径查找mysqld.log看错误日志, 发现竟然没有这个文件!
于是尝试使用默认的my.cnf文件, 启动也失败了, 也没有找到/var/log/mysqld.log
因此能判断问题在启动阶段就失败了, 可默认配置和自定义配置不应该都失败
mysql启动失败.png mysql启动失败2.png想到之前安装了mysql5.6, 安装时是先卸载了mysql5.6再安装mysql8的
无奈之下, 把mysql8卸载了, 再次重装
仔细查看安装过程, 发现最后安装mysql-server时告警了, 真是天大的喜讯
user mysql does not exist - using root
mysql安装告警.png
那么问题就很明显了, 安装时创建mysql用户失败了
多方查找后, 得知: mysql5.6安装创建mysql用户时会编辑这些文件, 然后上锁: /etc/passwd /etc/group /etc/shadow /etc/gshadow
而mysql8安装时也要编辑这些文件, 但由于文件被上锁, 所以创建mysql用户失败了
因此解决方案是: 执行以下命令解锁文件, 然后重装mysql-server
chattr -ia /etc/passwd /etc/group /etc/shadow /etc/gshadow
mysql安装完成, mysql用户正常创建, 服务正常启动, 大功告成, 可喜可贺~
最后记得再把这些文件手动加锁
chattr +ia /etc/passwd /etc/group /etc/shadow /etc/gshadow
网友评论