使用innodb_data_file_path修改數據文件位置,發生The server quit without updating PID file錯誤的解決原因及方法。

近日,給CentOS下的MySQL配置數據文件位置,但是每次指定到非MySQL默認安裝目錄的時候,就無法啓動,並且報“The server quit without updating PID file”錯誤。仔細檢查,是權限錯誤,包括a. MySQL對新建的文件夾是沒有訪問權限;b. SELinux的權限沒有放開。

另外,有的時候ibdata1大小發生變化或者ib_logfile*(默認是ib_logfile0、ib_logfile1兩個文件)沒有刪除也會出現類似的錯誤,如果修改權限以後還出現錯誤, 請刪除ibdata1、ib_logfile*文件(默認情況下數據都存儲在ibdata1文件中,因此刪除前請備份系統數據。

下面是修改數據文件位置的詳細方法:

1. 關閉MySQL

service mysql stop
2. 創建數據文件夾

注意,MySQL自己不會創建數據文件夾,所以如果文件夾不存在,則必須手動創建。

mkdir /home/test

3. 給新文件及賦予mysql用戶權限

chown -R mysql:mysql /home/test/

4. 配置SELinux

chcon -R -t mysqld_db_t /home/test/

5. 修改my.cnf

在[mysqld]節點下加入以下兩行。注意,如果innodb_data_file_path要寫成絕對路徑,則innodb_data_home_dir要留空,否則都是相對innodb_data_home_dir的相對路徑。

innodb_data_home_dir =
innodb_data_file_path=/var/lib/mysql/ibdata1:18M;/home/test5/ibdata2:10M:autoextend

6. 啓動mysql

service mysql start

附:如果是Windows平臺,則簡單得多,不需要授權,修改配置文件即可。Windows平臺的路徑要包含在英文雙引號中,如下

innodb_data_home_dir =
innodb_data_file_path="c:/ibdata1:10M;d:/ibdata2:10M:autoextend"


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章