在vmware中使用docker搭建mysql主從複製 --步步為營
阿新 • • 發佈:2019-02-17
拉取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容器同步成功