开发环境下 MySQL 数据库差异同步的方法

在日常开发环境里,由于数据库表结构频繁变动,我们希望同步表结构,而不删除原有的数据。
假设我们在 S 机上修改表结构,而希望把表结构同步到 T 机上的数据库,但是又保留 T 机的数据,以下是具体步骤:

在 T 机上登录 S 机,只导出 Schema:
ssh S “mysqldump -d dbname” > /var/tmp/schema.sql

在 T 机上只导出数据,导出方式选择 -c 完整格式,也就是 INSERT 语句里包含列名。
mysqldump -c -t dbname >/var/tmp/data.sql

然后在 T 机上先导入 schema.sql,再导入 data.sql

mysql dbname </var/tmp/schema.sql
mysql dbname </var/tmp/data.sql

如果要把 T 机的数据也同步到 S 机的话,可以在 S 机上执行:

ssh T “mysqldump dbname” |mysql dbname

作者: 甬洁网络

--移动互联网&物联网技术提供商