關於刪除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!

堅持學習

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