萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> Mysql修改datadir導致無法啟動問題解決方法

Mysql修改datadir導致無法啟動問題解決方法

 centos6.2,停止mysqld然後修改/etc/my.cnf datadir的位置,啟動mysqld提示FAILED,查看日志

代碼如下:
120609 11:31:31 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
120609 11:35:12 mysqld_safe Starting mysqld daemon with databases from /mnt/hgfs/mysql_data
120609 11:35:13 [Warning] Can't create test file /mnt/hgfs/mysql_data/data.lower-test
120609 11:35:13 [Warning] Can't create test file /mnt/hgfs/mysql_data/data.lower-test
/usr/libexec/mysqld: Can't change dir to '/mnt/hgfs/mysql_data/' (Errcode: 13)
120609 11:35:13 [ERROR] Aborting

 

120609 11:35:13 [Note] /usr/libexec/mysqld: Shutdown complete

120609 11:35:13 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended


新的datadir路徑確實沒問題,而且目錄和目錄下所有文件都是777權限,上層目錄也有rx權限,只不過datadir和下屬文件owner都是root(因為我用虛擬機掛載的windows的文件系統)。後來想到應該是selinux搞的鬼,設置為permissive模式之後正常啟動mysqld。

代碼如下:
[root@data selinux]# getenforce
Enforcing
[root@data selinux]# setenforce 0
[root@data selinux]# getenforce
Permissive

 

setenforce 1 設置SELinux 成為enforcing模式
setenforce 0 設置SELinux 成為permissive模式

徹底關閉,vi /etc/selinux/config 修改 SELINUX=disabled

 

代碼如下:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted
copyright © 萬盛學電腦網 all rights reserved