Mysql修改datadir導(dǎo)致無法啟動(dòng)問題解決方法

字號(hào):


    centos6.2,停止mysqld然后修改/etc/my.cnf datadir的位置,啟動(dòng)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路徑確實(shí)沒問題,而且目錄和目錄下所有文件都是777權(quán)限,上層目錄也有rx權(quán)限,只不過datadir和下屬文件owner都是root(因?yàn)槲矣锰摂M機(jī)掛載的windows的文件系統(tǒng))。后來想到應(yīng)該是selinux搞的鬼,設(shè)置為permissive模式之后正常啟動(dòng)mysqld。
    代碼如下:
    [root@data selinux]# getenforce
    Enforcing
    [root@data selinux]# setenforce 0
    [root@data selinux]# getenforce
    Permissive
    setenforce 1 設(shè)置SELinux 成為enforcing模式
    setenforce 0 設(shè)置SELinux 成為permissive模式
    徹底關(guān)閉,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