close
要將MySQL的資料檔移動到別的地方,主要可以透過(1)修改my.cnf和(2)Symbolic link的方式來進行
(1) 在Ubuntu中my.cnf的位置在/etc/mysql/my.cnf
修改
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
這兩行之後重啟MySQL就可以了
(重啟:sudo /etc/init.d/mysql restart 或 service mysql restart)
(2)
將原始的資料檔(位於/var/lib/mysql)複製到想要移動的位置,如/home/ivis下
接著利用symbolic link建立映射回原始位置的連結
ln -s /home/ivis/mysql /var/lib/mysql
最後把建立的連結權限調整為mysql就完成了
chmod mysql:mysql /var/lib/mysql
需要注意的是上述兩個步驟有可能會碰到permission denied的問題
這是因為AppArmor阻擋了mysql寫入新目錄的權限
因此需要修改AppArmor的設定檔
sudo vi /etc/apparmor.d/usr.sbin.mysqld
這兩行之後重啟AppArmor就可以了
/home/ivis/mysql r,
/home/ivis/mysql/** rwk,
(重啟:sudo /etc/init.d/apparmor restart 或 service apparmor restart)
全站熱搜