1. 程式人生 > >在vmware中使用docker搭建mysql主從複製 --步步為營

在vmware中使用docker搭建mysql主從複製 --步步為營

拉取mysql映象

#docker pull daocloud.io/library/mysql:5.7.7


檢視映象


啟動master和slave容器
docker run -it -p  3306:3306 -e  MYSQL_ROOT_PASSWORD=123456 --name mastermysql  -d  daocloud.io/library/mysql:5.7.7
docker run -it -p  3307:3306 -e  MYSQL_ROOT_PASSWORD=123456 --name slavemysql  -d  daocloud.io/library/mysql:5.7.7



在master和slave容器裡分別安裝vim
apt-get update && apt-get install vim -y


修改master容器的my.cnf配置檔案 ,在mysqld下加入

修改slave容器的my.cnf配置檔案 ,在mysqld下加入



容器重啟
docker restart mastermysql

docker restart slavemysql

連線master資料庫,建立同步使用者名稱並檢視伺服器二進位制檔名與位置
create user 'dbsync'@'%' IDENTIFIED BY '123456';
GRANT select, REPLICATION SLAVE ON *.* TO 'dbsync'@'%'


在slave資料庫配置二進位制檔案的檔名和位置
CHANGE MASTER TO MASTER_HOST='192.168.198.129', 
MASTER_USER='dbsync',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-bin.000002',
MASTER_LOG_POS=4929;
在slave資料庫啟動slave模式


在slave資料庫檢視主從複製是否配置成功,連線錯誤 Slave_IO_Running: Connecting


檢視slave容器日誌,無法連線master資料庫 [ERROR] Slave I/O for channel '': error connecting to master

在slave容器裡用ip地址連不上mysql


使用mysql客戶端可以連線資料庫


在docker宿主機關閉防火牆 service firewalld stop,在slave中重新配置二進位制檔名和位置,Start slave,檢視日誌,連線成功,問題解決



在master容器建立database

slave容器同步成功