近日遇到这么个问题:

同一套业务系统有好几套环境,比如生产prd,测试就有a,b,c,d个环境。

关键是a,b,c,d环境的数据库在同一台主机的mysql实例下面,

prd上面f库对应a环境的f-a,b环境的f-b库

所以存在一个问题,直接mysqldump下来的库是不能导入测试环境的测试库的。

那么就会涉及到从生产导下来的a名字的库,要在测试上导入不同名字的b库中。

是不是感觉这么坑爹的需求第一次遇到,但是没关系啊。业务就是大爷,就是通过瞳孔改变手机壳颜色的需求也要做啊。

那么要分以下两种情况:

(一)、要导入的库是否开启gtid,如果开了,那么这样导出数据库。

mysqldump -uroot  -p"123456" --set-gtid-purged=off  --no-create-db  -R test > yang02.sql

mysql  -uroot  -p"123456"  test2 <  yang02.sql

(二)、如果要导入的库没有开启gtid的话。

mysqldump -uroot  -p"123456" --no-create-db  -R test > yang02.sql

mysql  -uroot  -p"123456"  test2 <  yang02.sql