因爲ubuntu默認的mysql路徑是在/var/lib/mysql下,不少時候咱們若是沒有掛載其它分區在/var的時候,隨着網站逐漸瀏覽和添加內容,數據容量也會愈來愈大,天然磁盤空間也會比較吃緊。所以咱們就須要把mysql的data路徑轉移到其它目錄下。mysql
今天在轉移的時候走了很多彎路,最後通過反覆嘗試後獲得了比較精簡的步驟,提煉以下。sql
設置新data路徑(假設新路徑爲/data/mysql)這裏須要說明的就是,最開始我圖省事使用了mv來移動,隨後發如今設置完路徑後mysql沒法訪問。所以爲了保險起見仍是按照這裏的步驟來吧。ubuntu
創建新的路徑vim
sudo mkdir -p /data/mysql安全
複製數據app
sudo cp -R /var/lib/mysql/* /data/mysql網站
修改文件夾權限rest
sudo chown -R mysql:mysql /data/mysqlit
修改配置文件io
sudo vim /etc/mysql/my.cnf
查找並用#註釋如下
datadir = /var/lib/mysql
新增
datadir = /data/mysql
須要提醒的是:單隻修改mysql的config文件是不夠的,在你重啓mysql服務的時候會發現啓動失敗。緣由則是ubuntu裏有一個訪問控制系統apparmor,所以咱們還須要在這裏修改一下才能徹底成功。
修改安全保護文件
sudo vim /etc/apparmor.d/usr.sbin.mysqld
查找並用#註釋如下兩節
/var/lib/mysql r,
/var/lib/mysql/** rwk,
新增
/data/mysql r,
/data/mysql/** rwk,
修改訪問控制文件
sudo vim /etc/apparmor.d/abstractions/mysql
註釋掉
/var/lib/mysql/mysql.sock rw
新增
/data/mysql/mysql.sock rw
重啓服務
/etc/init.d/apparmor restart
/etc/init.d/mysql restart
這時候再訪問就會發現已經修改爲功了,數據的讀寫都經由新路徑實現。