標籤:
用軟串連改變了/var/lib/mysql的位置,並設定好mysql.mysql的許可權,但是發現還是不能啟動。
發現/var/log/mysqld.log
150308 16:16:02 [Warning] Can‘t create test file /var/lib/mysql/Gadget.lower-test
150308 16:16:02 [Warning] Can‘t create test file /var/lib/mysql/Gadget.lower-test
/usr/libexec/mysqld: Can‘t change dir to ‘/var/lib/mysql/‘ (Errcode: 13)
想了想應該還是某種許可權問題,經過查文章發現
chcon -t var_lib_t /home
chcon -R -t mysqld_db_t /home/mysql
原因是
看最初的時候/var/lib/mysql目錄的屬性:
[[email protected] mysql]# ls -alZ
drwxr-xr-x. mysql mysql system_ubject_r:mysqld_db_t:s0 .
drwxr-xr-x. root root system_ubject_r:var_lib_t:s0 ..
-rw-rw----. mysql mysql unconfined_ubject_r:mysqld_db_t:s0 centos6-relay-bin.000001
-rw-rw----. mysql mysql unconfined_ubject_r:mysqld_db_t:s0 centos6-relay-bin.000002
-rw-rw----. mysql mysql unconfined_ubject_r:mysqld_db_t:s0 centos6-relay-bin.index
-rw-rw----. mysql mysql unconfined_ubject_r:mysqld_db_t:s0 ibdata1
-rw-rw----. mysql mysql unconfined_ubject_r:mysqld_db_t:s0 ib_logfile0
-rw-rw----. mysql mysql unconfined_ubject_r:mysqld_db_t:s0 ib_logfile1
-rw-rw----. mysql mysql unconfined_ubject_r:mysqld_db_t:s0 master.info
drwx------. mysql mysql unconfined_ubject_r:mysqld_db_t:s0 mysql
-rw-rw----. mysql mysql unconfined_u:object_r:mysqld_db_t:s0 mysqld-relay-bin.000001
-rw-rw----. mysql mysql unconfined_u:object_r:mysqld_db_t:s0 mysqld-relay-bin.index
srwxrwxrwx. mysql mysql unconfined_u:object_r:mysqld_var_run_t:s0 mysql.sock
-rw-rw----. mysql mysql unconfined_u:object_r:mysqld_db_t:s0 relay-log.info
drwx------. mysql mysql unconfined_u:object_r:mysqld_db_t:s0 test
發現/var/lib的selinux屬性是var_lib_t
/var/lib/mysql以下所有檔案的selinux屬性是mysqld_db_t
所以這兩步必須執行。
linux上改變mysql資料檔案的位置