標籤:
問題:
[Warning] Can‘t create test file xxx.lower-test
[Warning] Can‘t create test file xxx.lower-test
usrlibexecmysqld Can‘t change dir to ‘xxx‘ (Errcode 13)
解決方案:
第一.selinux,安裝redhat(很古老的作業系統麼。。。)的時候,有這麼一個選項,通常大家都聽取前輩的建議,改變預設值以不安裝它。但如果你恰好要操作的這台機器開著selinux,它確實能夠使你的mysql無法在新目標位置進行mysql_install_db的操作,並報出問題所示的警告。一個簡單的解決辦法是使用命令暫時關閉selinux,以便讓你的操作可以繼續下去 setenforce 0
最好使用一個永久方法,以便在重啟後繼續不要這貨。
修改/etc/selinux/config檔案中設定SELINUX=disabled ,然後重啟或等待下次重啟。
第二.apparmor,這個坑爹貨和selinux一樣的坑爹,它也對mysql所能使用的目錄許可權做了限制。在 /etc/apparmor.d/usr.sbin.mysqld 這個檔案中,有這兩行規定了mysql使用的資料檔案路徑許可權
/var/lib/mysql/ r,
/var/lib/mysql/** rwk,
你一定看到了,/var/lib/mysql/就是之前mysql安裝的資料檔案預設路徑,apparmor控制這裡mysqld可以使用的目錄的許可權
我想把資料檔案移動到/data/mysql下,那麼為了使mysqld可以使用/data/mysql這個目錄,照上面那兩條,增加下面這兩條就可以了
/data/mysql/ r,
/data/mysql/** rwk,
重啟apparmor,/etc/inid.d/apparmor restart
搞定!
Centos 6.5 安裝 Mysql 後更改儲存路徑問題