近日遇到这么个问题:
同一套业务系统有好几套环境,比如生产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