解決修改mysql的data_dir所引發的錯誤問題。本站提示廣大學習愛好者:(解決修改mysql的data_dir所引發的錯誤問題)文章只能為提供參考,不一定能成為您想要的結果。以下是解決修改mysql的data_dir所引發的錯誤問題正文
今天,搭建新購的阿裡雲ECS環境(ubuntu 16.04 LTS),需要將mysql的數據保存在新掛載的磁盤上(已掛載到/mnt下),先停掉mysql服務,然後查看mysql並數據保存的位置:
vi /etc/mysql/mysql.conf.d/mysqld.cnf
發現datadir=/var/lib/mysql
, 這也就是數據所在目錄,於是將它修改為datadir=/mnt/mysql
, 然後保存, 最後將mysql保存的數據的拷貝到/mnt下:
cp -r /var/lib/mysql /mnt chown -R mysql:mysql /mnt/mysql
完成拷貝後,本以為一切就緒,開啟mysql服務:
systemctl start mysql
但是卻發現啟動失敗,於是再去看看mysql的錯誤日志:
tail -f -n100 /var/log/mysql/error.log
發現錯誤信息如下:
[Warning] Can't create test file /mnt/mysql/iZwz9c03srb2lq9l374if5Z.lower-test
細想一下,mysql的配置應該沒問題了啊。檢查一下apparmor的配置:
vi /etc/apparmor.d/usr.sbin.mysqld
發現其中有如下配置:
# Allow data dir access /var/lib/mysql/ r, /var/lib/mysql/** rwk,
坑爹啊,剛剛將mysql配置文件的datadir的/var/lib/mysql
已經改了,但是卻仍然被這兒限制了,於是,將它修改為:
# Allow data dir access /var/lib/mysql/ r, /var/lib/mysql/** rwk, /mnt/mysql/ r, /mnt/mysql/** rwk,
保存。重啟apparmor服務:
service apparmor restart
然後再次啟動mysql服務:
systemctl start mysql
服務終於啟動成功了。。。
以上所述是小編給大家介紹的解決修改mysql的data_dir所引發的錯誤問題,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的,在此也非常感謝大家對網站的支持!