1. 程式人生 > >ubuntu-16.04更改mysql預設資料儲存目錄

ubuntu-16.04更改mysql預設資料儲存目錄

登入mysql檢視當前資料儲存目錄

mysql -uroot -p

mysql> select @@datadir;
+-----------------+
| @@datadir       |
+-----------------+
| /var/lib/mysql/ |
+-----------------+
1 row in set (0.00 sec)

關閉mysql-server

sudo systemctl stop mysql

確認的確關閉mysql-server

sudo systemctl status mysql
  • 關閉無誤,輸出類似 "Jul 18 11:24:20 ubuntu-512mb-nyc1-01 systemd[1]: Stopped MySQL Community Server."

轉移資料目錄

sudo rsync -av /var/lib/mysql /data/

備份源資料

sudo mv /var/lib/mysql /var/lib/mysql.bak
sudo mkdir /var/lib/mysql/mysql -p
  • sudo mkdir /var/lib/mysql/mysql -p 是為了保證 /usr/share/mysql/mysql-systemd-start 中驗證目錄正確

修改mysql-server配置 /etc/mysql/mysql.conf.d/mysqld.cnf

datadir=/data/mysql

AppArmor許可權修改 追加以下內容到 /etc/apparmor.d/tunables/alias

alias /var/lib/mysql/ -> /data/mysql/,

重啟AppArmor

sudo systemctl restart apparmor
  • 沒有追加alias內容,可能導致

<pre>
Job for mysql.service failed because the control process exited with error code. See "systemctl status mysql.service" 
and "journalctl -xe" for details.
</pre>

啟動mysql-server

sudo system
ctl start mysql sudo systemctl status mysql