ubuntu-16.04更改mysql預設資料儲存目錄
阿新 • • 發佈:2019-02-15
登入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