當前位置:成語大全網 - 書法字典 - 如何解決CentOS下MySQL啟動失敗的問題

如何解決CentOS下MySQL啟動失敗的問題

解決MySQL在CentOS下啟動失敗的問題

1.my.cnf配置文件中的datadir項配置錯誤或被啟動腳本篡改。

這個問題不是很明顯,主要是因為mysql自帶的啟動文件(/etc/init.d/mysqld)會自動檢測mysql的數據存儲目錄。如果mysql是新安裝的,系統表還沒有初始化,那麽配置文件中的datadir項是否寫入並不重要。這種情況主要是由於mysql的數據存儲目錄發生了變化,這就是我今天遇到的問題。

我的mysql配置文件中的datadir項目安裝後的配置如下,配置文件存儲在/etc/my.cnf中,不知道今天動了什麽,查了壹下也找不到原因。後來我打開配置文件,發現datadir項目被篡改為/var/mysql/data。.....

【mysqld】datadir =/data/MySQL socket =/tmp/MySQL . sock user = MySQL

第二,mysql進程已經存在於進程中。

我很少遇到這種情況。如果有mysql進程但沒有mysql服務(由於其他客戶端無法連接到mysql服務器,例如當php連接到mysql時,它會提示“連接失敗”),那麽就需要查看是否有mysql僵屍進程。該命令如下所示:

ps -ef|grep mysql

如果存在,現有的僵屍進程將在命令執行後列出,kill -9 `pid可被刪除。

第三,mysql的數據存儲目錄權限不足

首次安裝或升級mysql時會出現這種情況,應該設置配置文件中datatdir目錄的權限。壹般來說,運行mysql的用戶和組是mysql.mysql,因此解決權限不足問題的方法如下:

Chown-r mysql。mysql /data/mysql # #這個命令只是壹個示例,其中/data/mysql是mysql配置文件# #中datadir的目錄。如果為空,則默認為MySQL安裝目錄下的data文件夾。

第四,覆蓋安裝或升級mysql後殘留數據的影響。

這發生在mysql安裝或升級之後。當然,在mysql無緣無故宕機後也會發生這種情況,可能會影響mysql啟動的數據文件。壹般存在於mysql的數據存儲目錄中(此目錄根據my.cnf配置文件中的datadir而有所不同),即mysql數據存儲目錄中存在的mysql-bin.index文件。刪掉就好了。

第五,selinux的問題最有可能出現在centos下。

Selinux對此了解不多。關掉它。

# #方法1:永久關閉seliux # #在vi /etc/selinux/config #文件中修改SELINUX=disabled,然後重新啟動服務器# #方法2:暫時關閉seliux setenforce 0 ##。如果您需要在每次啟動時通過響鈴來關閉Seliux,您可以在/etc/rc.d/rc.local文件中這樣做。

6.在mysql運行狀態下刪除二進制日誌後重啟失敗。

這是今天群裏的壹個朋友,總結在這裏;當mysql打開二進制日誌,mysql在運行狀態下用rm命令刪除mysql二進制日誌文件時,您下次重新啟動mysql將是壹場悲劇。

什麽是二進制日誌?說白了就是mysql數據目錄中的mysql-bin.00001和mysql-bin.000002文件,如下圖所示。

解決方法是修改配置文件並暫時關閉binary-log,然後刪除mysql數據目錄中所有與mysql-bin.000001和mysql-bin.000002相似的文件並重新啟動,mysql即可成功啟動。

#mysql配置關閉二進制日誌並找到以下語句並將其註釋掉# log-bin = MySQL-bin # binlog _ format = mixed。

在這壹步之後,如果您仍然需要啟用二進制日誌,您應該首先停止mysql服務,然後修改msyql的配置文件並重新啟動它。

另外附上正確刪除mysql二進制日誌文件的方法(直接刪除這些文件肯定不是rm -rf命令):

#第壹步是通過shell或cmd登錄mysql。這壹步沒什麽好說的,msyql -u root -p *** #第二步直接執行mysql》Reset master下的清除二進制日誌命令#註:這僅針對單個MySQL。如果有備用的mysql,執行這個命令是有風險的。