服務(wù)器異常重啟,導(dǎo)致mysql啟動(dòng)失敗,問(wèn)題解決過(guò)程記錄
思路一:檢查linux的安全策略。
1、查看SELinux狀態(tài):/usr/sbin/sestatus -v

2、如果狀態(tài)為enabled,則為開啟狀態(tài),將其設(shè)置關(guān)閉狀態(tài),以上截圖為設(shè)置后的狀態(tài):
1)臨時(shí)關(guān)閉 setenforce 0
2)修改/etc/selinux/config 文件,將SELINUX=enforcing改為SELINUX=disabled
3)重啟服務(wù)器?reboot
3、啟動(dòng)mysql服務(wù),還是報(bào)錯(cuò)
systemctl start mysqld
systemctl status mysqld.service

思路二:檢查目錄文件權(quán)限。
1、修改以上配置后,還是啟動(dòng)失敗,繼續(xù)查看日志文件:
vim /etc/my.cnf
vim /usr/local/mysql/data/error.log
2、發(fā)現(xiàn)/var/lib/mysql/mysql.sock.lock文件沒(méi)有,創(chuàng)建文件夾,修改群組權(quán)限:
mkdir /var/lib/mysql
chown mysql.mysql /var/lib/mysql

3、再次啟動(dòng)mysql,啟動(dòng)成功。
systemctl start mysqld
systemctl status mysqld.service

ps aux|grep mysql

總結(jié):可能由于最初安裝數(shù)據(jù)庫(kù)的時(shí)候忽略的一些東西,導(dǎo)致違反SELinux的安全模式,然后目錄權(quán)限混亂,導(dǎo)致mysql無(wú)法創(chuàng)建文件。
SELinux 有三種工作模式,分別是:
1. enforcing:強(qiáng)制模式。違反 SELinux 規(guī)則的行為將被阻止并記錄到日志中。
2. permissive:寬容模式。違反 SELinux 規(guī)則的行為只會(huì)記錄到日志中。一般為調(diào)試用。
3. disabled:關(guān)閉 SELinux。
查看數(shù)據(jù)庫(kù)安裝路徑命令:
