鑑於很多童鞋反應,mysql5.7安裝後出現無法啓動,建立/var/run/mysqld 並賦權mysql用戶解決了啓動的問題,但是重啓系統後又出現無法啓動的問題,導致/var/run/mysqld 目錄每次重啓後都需要手動去創建並賦權mysql用戶才能起到mysql,可以說,這是mysql5.7的一個小BUG,經過探索實踐,現給出終極解決方案:
首先申明,修改my.cnf沒有用。
mkdir -p /var/run/mysqld
chown mysql.mysql /var/run/mysqld
chgrp -R mysql /var/run/mysqld
service mysqld start 啓動成功後並不能從根本上完全解決/var/run/mysqld目錄丟失問題的。
之所以/var/run/mysqld 目錄每次重啓後都需要手動去創建,是因爲/var/run/目錄下建立文件夾是在內存中,故每次重啓後內存被清空導致/var/run/mysqld 也被清除,從而導致無法啓動mysql。
編輯mysqld配置文件
vim /etc/init.d/mysqld
找到下面字段
get_mysql_option mysqld datadir "/var/lib/mysql"
datadir="$result"
get_mysql_option mysqld socket "$datadir/mysql.sock"
socketfile="$result"
get_mysql_option mysqld_safe log-error "/var/log/mysqld.log"
errlogfile="$result"
get_mysql_option mysqld_safe pid-file "/var/run/mysqld/mysqld.pid"
mypidfile="$result"
修改爲
get_mysql_option mysqld datadir "/var/lib/mysql"
datadir="$result"
get_mysql_option mysqld socket "$datadir/mysql.sock"
socketfile="$result"
get_mysql_option mysqld_safe log-error "/var/log/mysqld.log"
errlogfile="$result"
get_mysql_option mysqld_safe pid-file "/var/lib/mysql/mysqld.pid"
mypidfile="$result"
保存後退出,執行下面命令:
systemctl daemon-reload //重構進程
service mysqld start //啓動mysql
chkconfig mysqld on //加入隨系統啓動啓動