最近遇到了一個奇怪的問題,每次重啟服務器后,mysql數(shù)據(jù)庫都消失了!每次都需要手動啟動才能使用。我找了一些解決方案,現(xiàn)在和大家分享一下。
首先,我們需要查看mysql服務是否啟動:
#檢查mysql服務是否啟動 systemctl status mysqld.service
如果mysql服務沒有啟動,可以手動啟動并查看錯誤信息:
#手動啟動mysql systemctl start mysqld.service #查看mysql錯誤信息 journalctl -xe
如果mysql啟動失敗,有可能是配置文件出現(xiàn)了問題。確認配置文件路徑是否正確:
#查看mysql配置文件路徑 mysqld --verbose --help | grep -A 1 'Default options'
確認配置文件路徑正確后,可以進行配置文件檢查:
#檢查mysql配置文件錯誤 mysqld --verbose --help | grep -A 1 'Default options' | awk -F'=' '{print $2}' | xargs mysqld --help --verbose --skip-grant-tables --skip-networking
如果配置文件沒有問題,可以進行修復:
#修復mysql數(shù)據(jù)目錄 mysqlcheck -o -A -p --auto-repair
如果還是無法啟動mysql,可以嘗試重建mysql數(shù)據(jù)目錄:
#停止mysql服務 systemctl stop mysqld.service #備份mysql數(shù)據(jù)目錄 mv /var/lib/mysql /var/lib/mysql_bak #創(chuàng)建新的mysql數(shù)據(jù)目錄 mkdir /var/lib/mysql #設置mysql數(shù)據(jù)目錄權(quán)限 chown mysql:mysql /var/lib/mysql #初始化mysql mysqld --initialize-insecure #啟動mysql服務 systemctl start mysqld.service
這些解決方法中,最后一個是最徹底的,但是也要注意備份重要數(shù)據(jù)。希望這篇文章能幫助到一些人解決mysql啟動問題。