mysqldump
工具導出源數據庫。mysqldump -u [源數據庫用戶名] -p[源數據庫密碼] [源數據庫名] > [備份文件名].sql
(如mysqldump -uroot -pOldPass mydb > mydb_backup.sql
)。utf8mb4
)、排序規則(如utf8mb4_general_ci
)及版本信息(SELECT VERSION();
),確保與目標數據庫一致。sudo apt update
sudo apt install mariadb-server -y
安裝完成后,運行sudo mysql_secure_installation
設置root密碼及安全選項。# 源服務器
ssh [源服務器IP]
sudo systemctl stop mariadb
# 目標服務器
sudo systemctl stop mariadb
/var/lib/mysql
,使用scp
或rsync復制:scp -r [源服務器IP]:/var/lib/mysql /var/lib/mysql_new
/etc/mysql/mariadb.conf.d/50-server.cnf
),更新datadir
路徑:[mysqld]
datadir = /var/lib/mysql_new
sudo systemctl start mariadb
sudo mysql -u root -p -e "SHOW GLOBAL VARIABLES LIKE '%datadir%';"
確認輸出的datadir
路徑為目標目錄。sudo mysql -u root -p -e "CREATE DATABASE [目標數據庫名];"
mysql
命令導入之前導出的SQL文件:mysql -u [目標數據庫用戶名] -p[目標數據庫密碼] [目標數據庫名] < [備份文件名].sql
例如:mysql -uroot -pNewPass mydb < mydb_backup.sql
。USE [目標數據庫名];
SHOW TABLES;
SELECT COUNT(*) FROM [關鍵表名];
config.php
、.env
),修改數據庫主機、用戶名、密碼及數據庫名,重啟應用程序服務。OPTIMIZE TABLE [表名]; -- 對每個表執行優化
mysqltuner
或pt-query-digest
工具分析目標數據庫性能,調整配置(如innodb_buffer_pool_size
)。GRANT
語句),確保應用程序有足夠訪問權限。