ubuntu下修改mysql默認data路徑

因爲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

這時候再訪問就會發現已經修改爲功了,數據的讀寫都經由新路徑實現。

相關文章
相關標籤/搜索