MySQL / MariaDB 轉移到新主機

以下文章會介紹將 MySQL / MariaDB 轉移到新主機的方法, 在轉移前最好確定兩台主機安裝的 MySQL / MariaDB 版本相同, 這樣出問題的機會會較少。

要完整轉移 MySQL 伺服器, 包括所有 MySQL 資料庫、使用者帳號及權限到新主機, 只需將 MySQL 的資料目錄及 my.cnf 複製到新主機, 並設定權限即可, 複製資料到新主機可以用 Rsync 完成, 可以參考以下文章:

rsync 透過 SSH 傳送及備份檔案
Rsync 備份本地及遠端目錄

以下假設 MySQL 的資料目錄在 /var/lib/mysq/, 而 my.cnf 在 /etc/my.cnf, 在舊主機執行以下指令:

先關閉 MySQL 伺服器:

# systemctl stop mysqld


# systemctl stop mariadb

現在可以複制資料:

# rsync -avz /var/lib/mysql/* username@new-server-ip:/var/lib/mysql/
# rsync -avz /etc/my.cnf username@new-server-ip:/var/lib/mysql/

以上指令會以 username 作為登入帳號,new-server-ip 是新主機的 ip.

資料複制到新主機後, 在新主機設定。

將 my.cnf 放到 /etc/

# mv /var/lib/mysql/my.cnf /etc/

執行 chown 設定正確的權限:

# chown mysql:mysql -R /var/lib/mysql/

現在可以啟動新主機的 MySQL 伺服器:

# systemctl start mysqld

# systemctl start mariadb

成功啟動 MySQL Server 後, 登入 MySQL 檢視資料是否轉移成功:

# mysql -u user -p
# show databases;


你可能感興趣的內容:

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.