Centos MySQL數據庫遷移詳細步驟

其實遷移數據庫,通常用sql文件就行,把A服務器數據庫的表結構和數據等等導出,而後導入到B服務器數據庫,mysql

可是此次數據文件過大,大約有40個G,使用命令行導入,效果不是很好,常常在執行過程當中報錯、卡死。sql

最後參考網上的帖子,複製源數據庫的data目錄下的文件,完成數據遷移。數據庫

步驟以下:bash

1.首先要肯定data目錄在哪裏服務器

這個問題困擾了我好久,由於網上的帖子大部分只是說拷貝mysql數據庫目錄下的data文件夾中的數據,可是data目錄到底在哪裏,並未說明,我開始是拷貝的MySQL安裝目錄中的data文件夾,可是顯然這是錯誤的,拷貝後並未出現須要的數據庫。socket

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

好比cp到 /mnt/vdb/mysql目命令行

3.找到my.cnf配置文件server

  若是/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錯誤就說明應該還有沒有改到。。blog

4.複製數據存在風險,請提早備份哦!!

相關文章
相關標籤/搜索