MySQL复制数据库
生活随笔
收集整理的這篇文章主要介紹了
MySQL复制数据库
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前提
- mysql 5.6
- centos 7.6
- 假設有2臺數據庫服務器,分別為A服務器和B服務器。A服務器IP為192.168.1.2,B服務器IP為192.168.1.3。A服務器有數據庫名為:testdb。
在A服務器上對數據庫testdb進行復制
Step1:創建副本數據庫testdb1
# mysql -uroot -ppassword mysql>CREATE DATABASE `testdb1` DEFAULT CHARACTER SET UTF8 COLLATE UTF8_GENERAL_CI;(注意-ppassword參數的寫法:-p后面直接跟密碼,中間沒有空格)
Step2:使用mysqldump及mysql的命令組合,一次性完成復制
# mysqldump testdb -uroot -ppassword --add-drop-table | mysql testdb1 -uroot -ppassword在A服務器上,將數據庫testdb復制到B服務器上
步驟與“在A服務器上對數據庫testdb進行復制”的步驟一致。Step2中的命令改動如下:
# mysqldump testdb -uroot -ppassword --add-drop-table | mysql -h 192.168.1.3 testdb1 -uroot -ppassword- 使用mysql的“ -h 主機名/ip”參數遠程連接B服務器上的數據庫。
- B服務器上的mysql允許遠程連接(【mysq】遠程訪問權限(允許遠程連接))。
在B服務器上,復制A服務器上的數據庫testdb到本地
步驟與“在A服務器上對數據庫testdb進行復制”的步驟一致。Step2中的命令改動如下:
# mysqldump testdb -h192.168.1.2 -P12132 -uroot -ppassword --add-drop-table | mysql testdb1 -uroot -ppassword- 使用mysql的“ -h 主機名/ip”參數遠程連接A服務器上的數據庫。
- A服務器上的mysql允許遠程連接(【mysq】遠程訪問權限(允許遠程連接))。
在C服務器上,復制A服務器上的數據庫testdb到B服務器上
步驟與“在A服務器上對數據庫testdb進行復制”的步驟一致。Step2中的命令改動如下:
# mysqldump testdb -h192.168.1.2 -uroot -ppassword --add-drop-table | mysql testdb1 -h192.168.1.3 -uroot -ppassword- 使用mysql的“ -h 主機名/ip”參數遠程連接A服務器和B服務器上的數據庫。
- A服務器和B服務器上的mysql允許遠程連接(【mysq】遠程訪問權限(允許遠程連接))。
其它
端口參數
如果mysql的端口不是默認端口,可以使用-P參數設置端口。
shell> mysqldump testdb -h192.168.1.2 -P1213 -uroot -ppassword --add-drop-table | mysql testdb1 -h192.168.1.3 -P2113 -uroot -ppassword指定table名稱
mysqldump [選項] --數據庫名 [選項 表名] shell> mysqldump testdb -h192.168.1.2 -P1213 -uroot -ppassword --add-drop-table sys_user | mysql testdb1 -h192.168.1.3 -P2113 -uroot -ppassword- 多個表以空格間隔。
- 注意:執行前要備份。
- 注意:執行前要測試。語句編寫有偏差時,有可能被判定為未提供表名。
參考
https://www.cnblogs.com/qq78292959/p/3637135.html
總結
以上是生活随笔為你收集整理的MySQL复制数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 嘴唇发痒是什么原因该怎么治疗
- 下一篇: 【maven】Missing artif