以下是Ubuntu MariaDB数据迁移的关键技巧及步骤:
-
备份源数据
使用mysqldump命令备份数据库,推荐导出所有数据库或指定数据库:mysqldump -u [用户名] -p[密码] --all-databases > full_backup.sql # 备份所有库 mysqldump -u [用户名] -p[密码] [数据库名] > db_backup.sql # 备份单个库 -
安装目标MariaDB
在新服务器或实例上安装MariaDB:sudo apt update && sudo apt install mariadb-server -
迁移数据方式
- 逻辑迁移(推荐):通过SQL文件导入导出,适用于跨版本或跨服务器迁移。
将备份文件传输到目标服务器后,执行导入:mysql -u [用户名] -p[密码] [目标数据库名] < backup> - 物理迁移(需停机):复制数据目录(
/var/lib/mysql),需修改配置文件/etc/mysql/mariadb.conf.d/50-server.cnf中的datadir路径,并确保权限正确(chown -R mysql:mysql /新路径)。
- 逻辑迁移(推荐):通过SQL文件导入导出,适用于跨版本或跨服务器迁移。
-
处理兼容性问题
- 检查字符集和排序规则是否一致,可通过
SHOW VARIABLES LIKE 'character_set%'查看。 - 若涉及存储引擎差异(如MariaDB的Aria引擎需转换为InnoDB),需在导入前调整表结构。
- 检查字符集和排序规则是否一致,可通过
-
验证与测试
- 登录目标数据库,检查表结构和数据完整性:
mysql -u [用户名] -p[密码] SHOW DATABASES; SHOW TABLES; SELECT * FROM [表名]; - 在测试环境验证应用程序连接是否正常,确保配置文件(如
config.php)中的数据库地址、端口等参数已更新。
- 登录目标数据库,检查表结构和数据完整性:
-
注意事项
- 迁移前确保源数据库无写入操作,或通过主从复制同步数据。
- 大数据量迁移时,建议分批次导出导入,或使用
rsync等工具优化传输效率。 - 迁移后定期监控新数据库性能,如通过
SHOW STATUS或pt-query-digest分析慢查询。
参考来源: