Centos MySQL資料庫遷移詳細步驟

kingkoo發表於2018-03-25

其實遷移資料庫,一般用sql檔案就行,把A伺服器資料庫的表結構和資料等等匯出,然後匯入到B伺服器資料庫,

但是這次資料檔案過大,大約有40個G,使用命令列匯入,效果不是很好,經常在執行過程中報錯、卡死。

最後參考網上的帖子,複製源資料庫的data目錄下的檔案,完成資料遷移。

步驟如下:

1.首先要確定data目錄在哪裡

這個問題困擾了我很久,因為網上的帖子大部分只是說拷貝mysql資料庫目錄下的data資料夾中的資料,但是data目錄到底在哪裡,並未說明,我開始是拷貝的MySQL安裝目錄中的data資料夾,但是顯然這是錯誤的,拷貝後並未出現需要的資料庫。

2.我是整個資料庫目錄進行遷移的 原目錄 /var/lib/mysql 直接 mv或者cp過去(先停止mysqd 服務)

比如cp到 /mnt/vdb/mysql目

3.找到my.cnf配置檔案

  如果/etc/目錄下沒有my.cnf配置檔案,請到/usr/share/mysql/下找到*.cnf檔案,拷貝其中一個到/etc/並改名為my.cnf)中。命令如下:

 vi  my.cnf    (用vi工具編輯my.cnf檔案,找到下列資料修改之)
   # The MySQL server
    [mysqld]
    port   = 3306
   #socket  = /var/lib/mysql/mysql.sock(原內容,為了更穩妥用“#”註釋此行)
    socket  = /mnt/vdb/mysql/mysql.sock   (加上此行)

[mysqld]
datadir=/mnt/vdb/mysql
socket=/mnt/vdb/mysql/mysql.sock
#沒有就新加 [mysql] socket=/mnt/vdb/mysql/mysql.sock [client] socket=/mnt/vdb/mysql/mysql.sock [mysqldump] socket=/mnt/vdb/mysql/mysql.sock

  重啟服務如果發現/var/lib/mysql/mysql.sock錯誤就說明應該還有沒有改到。。

4.複製資料存在風險,請提前備份哦!!

 



 

相關文章