linux mysql資料庫遷移

TaylerZhong發表於2018-12-01

由於資料的日漸增多,導致伺服器系統盤的容量總被佔滿,從而使mysql服務掛掉。

停止mysql服務

service mysqld stop

 複製資料庫到新目錄

進入mysql 使用show variables like 'datadir' 檢視datadir原指向路徑

在新的位置新建一個目錄,用於存放mysql資料庫

例如:

mkdir /data0/mysqldata

將原有資料庫複製到新建的目錄下,此過程需要稍等一會。

cp  -rf  /var/lib/mysql  /data0/mysqldata/

 修改mysql的配置檔案 my.cnf,位置一般為 /etc/my.cnf ,修改之前建議先備份。

cp /etc/my.cnf  /etc/my.cnf.bak

vim /etc/my.cnf

如果開啟my.cnf 為空,說明位置不對。使用 find / -name my.cnf 查詢my.cnf的位置。

find / -name my.cnf 

開啟my.cnf 修改 datadir、socket 路徑,其中datadir為轉移的目的路徑

 修改mysql啟動指令碼 /etc/init.d/mysqld

 datadir=/var/lib/mysql 修改為 datadir=/data0/mysqldata/mysql

 修改/usr/bin/mysqld_safe

vim /usr/bin/mysqld_safe

 DATADIR=/var/lib/mysql 修改為:DATADIR=/data0/mysqldata/mysql

 建立軟連線

ln  -s /data0/mysqldata/mysql/mysql.sock  /var/lib/mysql/mysql.sock

修改新建目錄的許可權歸屬為mysql

chown -R mysql:mysql /data0/mysqldata/mysql/

然後查詢mysql的datadir位置 

ok

重啟mysql服務

service mysqld start 

相關文章