阿里雲伺服器重啟後mysql不能啟動的問題

2022-07-29 03:45:16 字數 1458 閱讀 1861

環境:阿里雲ecs伺服器上,ubuntu linux 12.04,64位版。mysql 5.1.

首先檢視/etc/rc.local,可以看到ubuntu通過/etc/init.d/mysqld指令碼啟動mysql服務:

/etc/mysqld start

這個指令碼是安裝時從/alidata/server/mysql/目錄(mysql安裝目錄)拷貝過來的,沒問題。

但是在執行這個指令碼時,會呼叫/alidata/server/mysql/bin/my_print_defaults,

將輸出內容交給指令碼函式parse_serverarguments()解析,

得到$basedir, $bindir, $datadir這幾個啟動目錄。

問題就出在執行my_print_defaults上。

通過執行/alidata/server/mysql/bin/my_print_defaults --help,可以看到它從以下幾個目錄讀mysql配置:

/etc/my.cnf   

/etc/mysql/my.cnf   

/alidata/server/mysql/etc/my.cnf   

~/.my.cnf 

後面兩個路徑不存在,所以只會讀取前兩個檔案的內容。

/etc/my.cnf是安裝時從/alidata目錄拷過來的,沒有問題。 

/etc/mysql/my.cnf卻是ubuntu預設存在的,一讀,就把前面的覆蓋了。

所以刪除/etc/mysql目錄,執行/etc/init.d/mysqld restart,就ok了。

[後記]

晚上時候,同事報mysql又啟動不了。錯誤日誌:

/alidata/server/mysql/libexec/mysqld: file '/var/log/mysql/mysql-bin.index' not found (errcode: 13)  

網上搜到文章說」errorcode:13「是目錄許可權問題而這個檔案是存在的!mysql使用者也有讀寫許可權。

嘗試給/var/log/mysql目錄許可權從0755改成0775,給mysql使用者組也加了寫許可權,現在的許可權是:

drwxrwxr-x 2 mysql mysql 4096 oct 16 23:00 mysql/

繼續啟動mysql,失敗,但錯誤日誌已經從剛才的變成了這個(說明mysql組也需要寫許可權,難道啟動mysql需要其他mysql組使用者?):

/alidata/server/mysql/libexec/mysqld: file './mysql-bin.000032' not found (errcode: 2)

mysql-bin.000032

再次啟動mysql,成功。

linux伺服器重啟後mysql無法執行

linux伺服器重啟後mysql無法執行。遇到問題的情況是 我在阿里雲購買了幾個月乙個linux雲伺服器 但是當我重啟一次後 卻打不開mysql資料庫 報錯如下error 2002 hy000 can t connect to local mysql server through socket tm...

伺服器重啟

雖然說碰壁能漲經驗,不過搞的幾個小時心裡忐忑是真的難受。每一秒都是煎熬。啟動nginx服務 nginx c usr local nginx nginx conf nginx.conf 說明 其中 usr local nginx nginx conf nginx.conf是你自己的nginx.conf...

emqtt伺服器重啟配置不生效

按官方文件介紹的 重啟emttt服務的方法 是 bin目錄下 emqttd restart 但是我改了 etc 下的 emq.conf 然後按上面方法重啟emqtt 修改的配置並沒有生效 關閉emqtt服務 emqttd stop 然後 ps aux grep emq 可以看到 還有個emqtt 守...