在Ubuntu上遷移MySQL數據庫可以通過多種方法實現,以下是幾種常見的方法:
mysqldump
和 mysql
命令導出數據庫
在源服務器上,使用 mysqldump
命令導出數據庫:
mysqldump -u username -p database_name > database_name.sql
系統會提示你輸入密碼。
傳輸導出的SQL文件
將導出的SQL文件傳輸到目標服務器??梢允褂?scp
命令:
scp database_name.sql username@target_server_ip:/path/to/destination
在目標服務器上導入數據庫
在目標服務器上,使用 mysql
命令導入數據庫:
mysql -u username -p database_name < /path/to/destination/database_name.sql
系統會提示你輸入密碼。
mysqlpump
和 mysql
命令mysqlpump
是 mysqldump
的一個并行版本,適用于大型數據庫。
導出數據庫
在源服務器上,使用 mysqlpump
命令導出數據庫:
mysqlpump -u username -p database_name > database_name.sql
傳輸導出的SQL文件 將導出的SQL文件傳輸到目標服務器:
scp database_name.sql username@target_server_ip:/path/to/destination
在目標服務器上導入數據庫
在目標服務器上,使用 mysql
命令導入數據庫:
mysql -u username -p database_name < /path/to/destination/database_name.sql
xtrabackup
和 innobackupex
xtrabackup
是一個用于備份和恢復InnoDB存儲引擎的免費工具。
安裝 xtrabackup
在源服務器上安裝 xtrabackup
:
sudo apt-get update
sudo apt-get install percona-xtrabackup-24
備份數據庫
使用 innobackupex
命令備份數據庫:
innobackupex --user=username --password=password /path/to/backup
傳輸備份文件 將備份文件傳輸到目標服務器:
scp -r /path/to/backup username@target_server_ip:/path/to/destination
準備備份 在目標服務器上,準備備份文件:
innobackupex --apply-log /path/to/destination/backup
恢復數據庫 將備份文件復制到MySQL數據目錄并啟動MySQL服務:
innobackupex --copy-back /path/to/destination/backup
systemctl start mysql
你也可以使用圖形化工具如 Navicat
或 phpMyAdmin
來遷移數據庫。這些工具提供了直觀的界面來導出和導入數據庫。
導出數據庫 使用圖形化工具連接到源服務器,選擇要導出的數據庫,然后導出為SQL文件。
傳輸導出的SQL文件 將導出的SQL文件傳輸到目標服務器。
在目標服務器上導入數據庫 使用圖形化工具連接到目標服務器,選擇要導入的數據庫,然后導入SQL文件。
選擇適合你需求的方法進行遷移。對于大型數據庫,xtrabackup
是一個高效的選擇。對于小型數據庫,使用 mysqldump
或 mysqlpump
可能更簡單。