近日遇到這么個問題:
同一套業務系統有好幾套環境,比如生產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