关于删除mysql用户的问题


为了测试,我做了以下操作:

systemctl stop mysql.service 
id mysql    #显示uid=1001(mysql) gid=1001(mysql) 组=1001(mysql)
userdel mysql
useradd -d /home/mysql mysql
然后id mysql      #显示uid=1004(mysql) gid=1004(mysql) 组=1004(mysql)

启动MySQL服务器:

systemctl start mysql.service
#然后就报下面的错
Job for mysql.service failed because the control process exited with error code. See "systemctl status mysql.service" and "journalctl -xe" for details.
#这是执行systemctl status mysql.service
#得下面信息:
Process: 2971 ExecStart=/usr/sbin/mysqld (code=exited, status=1/FAILURE)
#在错误日志中找到下面一条错误信息:
2017-07-08T11:04:45.551671Z 0 [Warning] Failed to set up SSL because of the following SSL library
 error: SSL context is not usable without certificate and private key
#然后发现/home/mysql下的文件属性中的uid和gid都是1001,因为当前的mysql用户的uid,gid都为1001,有跟据上面的错误信息,可以推出,是帐号验证的问题,解决方法是在useradd时指定uid和gid

所以正确的方式:

systemctl stop mysql.service 
sudo id mysql #这里的结果用在下面的useradd中指定uid和gid,例如uid=1001,gid=1001
sudo userdel mysql
sudo groupadd -g 1001 mysql
sudo useradd -g1001 -u1001 -d /home/mysql mysql #现在就可以成功启动MysQL数据库服务器了
sudo passwd mysql #设置mysql账户的密码
systemctl start mysql.service 
OK!

坚持学习

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章