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)

arrow
arrow
    全站熱搜

    sp033730 發表在 痞客邦 留言(0) 人氣()