生产环境与开发环境MySQL/MariaDB数据库简易同步/复制方案
MariaDB生产库与开发库同步简易可行方案
以下是按实现难度从低到高排序的可落地方案,适配你用HeidiSQL操作的习惯,不需要额外部署复杂工具:
方案1:HeidiSQL原生功能同步(零额外工具,适合临时/不定期同步)
你已经在用HeidiSQL,不用装任何插件就能完成同步,是最省事的选择:
- 一次性全量同步:同时在HeidiSQL里建立生产库、开发库两个连接,右键点击生产库选择「导出数据库为SQL」,导出时勾选结构+数据、「添加DROP TABLE IF EXISTS语句」,导出完成后切换到开发库会话,直接加载导出的SQL文件执行即可。操作前建议先给开发库做一次备份,同时生产库连接用只读权限账号,避免手滑误改生产数据。
- 差异比对同步:如果两边已经有部分数据,不想全量覆盖,可以用顶部菜单「工具」-「同步数据库结构和数据」功能,源选择生产库、目标选择开发库,工具会自动扫描两边的表结构、索引、视图、数据差异,你可以手动勾选需要同步的对象,预览差异确认无误后点执行就能完成增量同步。注意这个步骤一定要反复确认源和目标不要选反,大表同步避开业务高峰,避免占用生产库资源影响线上业务。
方案2:MariaDB原生主从复制(适合长期自动实时同步)
用MariaDB自带的复制能力,不需要第三方工具,配置完成后生产库的变更会自动同步到开发库:
- 配置生产库(主库):
打开MariaDB配置文件(Linux为my.cnf,Windows为my.ini),在[mysqld]段添加如下配置:
重启MariaDB服务后,在主库执行SQL创建同步专用账号:server-id = 1 log_bin = mysql-bin binlog_format = ROW binlog_do_db = 你需要同步的业务库名
再执行GRANT REPLICATION SLAVE ON *.* TO 'sync_dev'@'开发库IP地址' IDENTIFIED BY '自定义强密码'; FLUSH PRIVILEGES;SHOW MASTER STATUS;,记录返回结果里的File和Position字段值,后面配置从库要用。 - 配置开发库(从库):
同样打开开发库的MariaDB配置文件,在[mysqld]段添加配置:
重启服务后执行同步配置SQL,把之前记录的主库信息替换进去:server-id = 2 relay_log = relay-bin read_only = 1
执行CHANGE MASTER TO MASTER_HOST='生产库IP地址', MASTER_USER='sync_dev', MASTER_PASSWORD='之前设置的同步账号密码', MASTER_LOG_FILE='之前记录的File值', MASTER_LOG_POS=之前记录的Position数值;START SLAVE;启动同步,再运行SHOW SLAVE STATUS\G,看到Slave_IO_Running和Slave_SQL_Running两个字段值均为Yes就说明配置成功。
- 灵活用法:如果开发环境需要经常修改测试数据、不需要实时同步,可以平时停掉从库同步,需要拉取最新生产数据时,先清空开发库的业务库,再执行
START SLAVE;等同步追平后再停掉从库即可,不会影响开发时的测试操作。
方案3:定时脚本全量同步(适合定期重置开发环境的场景)
如果不想维护主从复制的状态,又需要自动定时同步,可以直接用MariaDB自带的mysqldump工具写简单脚本,配合系统定时任务执行:
- Windows环境写bat脚本,Linux环境写shell脚本,核心逻辑就是在业务低峰期(比如凌晨2点)先从生产库导出全量SQL备份,再把备份导入开发库覆盖旧数据,Linux示例脚本如下:
#!/bin/bash mysqldump -h生产库IP -u只读同步账号 -p'账号密码' 业务库名 > /tmp/prod_latest.sql mysql -h127.0.0.1 -u开发库账号 -p'开发库密码' 开发业务库名 < /tmp/prod_latest.sql rm -f /tmp/prod_latest.sql - 写完脚本后,Windows用「任务计划程序」、Linux用
crontab设置定时执行周期即可,这个方案几乎没有维护成本,每次同步都是全量覆盖,刚好适配开发环境经常被改乱、需要定期和生产对齐的需求。
通用注意事项:所有同步场景下,生产库用于同步的账号只分配最小必要权限(全量同步只给SELECT权限,主从同步只给REPLICATION SLAVE权限),绝对不要给写权限;第一次执行同步前先备份两边数据,确认配置无误再正式操作。
内容的提问来源于stack exchange,提问作者Chris Russo
相关产品推荐
相关产品推荐

