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语句),确保应用程序有足够访问权限。