前言
今天再次在MySQL WorkBench折騰,這個開源的數據庫客戶端老是讀不出數據,以為是數據庫權限的問題,服務端畢竟是Linux的,但是不是這問題,不過還是搞了。那只好記錄記錄一下!
你沒有看出標題,是一步就可以遷移
MySQL
數據庫目錄,但是使用環境是Ubuntu
、基于apt-get安裝
。一步安裝在篇章的最后。
說明
在 Ubuntu 下使用 sudo apt-get install mysql-server
安裝的 MySQL 數據庫,默認的數據目錄是/var/lib/mysql
。
原理步驟
現在希望將數據目錄移到 /home/alic/data/mysql ,做法如下:
- 停止MySQL服務
sudo service mysql stop
- 遷移數據庫文件
mv /var/lib/mysql /home/alic/data/mysql
- 修改配置
# 將 datadir 對應的值改為 /home/alic/data/mysql
sudo vim /etc/mysql/my.cnf
sudo vim /etc/apparmor.d/usr.sbin.mysqld #將所有 /var/lib/mysql 改為 /home/alic/data/mysql
- 重啟
apparmor
以及mysql
服務
sudo service apparmor restart
sudo service mysql start
此時手動的配置就搞掂了!也可以一步到位,其實還是通過shell腳本實現了,很簡單:就是復制上面的整合的,哈哈笑:-D。
#!/bin/bash
sudo service mysql stop && \
mkdir -P /home/alic/data && \
sudo mv /var/lib/mysql /home/alic/data/mysql && \
sudo chmod 777 -R /home/alic/data/* && \
sudo sed -i 's/\/var\/lib\/mysql/\/home\/alic\/data\/mysql/g' /etc/mysql/my.cnf && \
sudo sed -i 's/\/var\/lib\/mysql/\/home\/alic\/data\/mysql/g' /etc/apparmor.d/usr.sbin.mysqld && \
sudo service apparmor restart && \
sudo service mysql restart && \
echo "MySQL數據庫目錄遷移完成!"
運行此腳本便可以搞定!
****價值源于技術,貢獻源于分享****