Docker配置mysql互为主从
配置準(zhǔn)備
兩臺(tái)機(jī)器
兩臺(tái)機(jī)器:A(193.168.10.101)? B(193.168.10.102) 做好ssh免密登錄
mysql大版本需要一致,小版本可忽略
并且兩臺(tái)機(jī)器已經(jīng)安裝好了docker?
yum install docker下載mysql鏡像
docker pull mysql:5.6.31?
mysql容器準(zhǔn)備
兩臺(tái)機(jī)器分別啟動(dòng)mysql容器
[root@bigdata101 ~]# docker run -di -p 33305:3306 --name mysql_101 -v /usr/local/mysql_docker/101/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6.31[root@bigdata102 ~]# docker run -di -p 33305:3306 --name mysql_102 -v /usr/local/mysql_docker/102/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6.31查看容器是否啟動(dòng)
[root@bigdata101 ~]# docker ps分別進(jìn)入兩個(gè)容器,安裝vim,并且修改配置文件
[root@bigdata101 ~]# docker exec -it mysql_101 /bin/bash root@63485bfccaa1:/# apt-get update root@63485bfccaa1:/# apt-get install vim root@63485bfccaa1:/# vi /etc/mysql/my.cnf #在配置文件最后添加 server-id=1 auto_increment_offset=1 auto_increment_increment=2 skip-slave-start log-slave-updates=true [root@bigdata102 ~]# docker exec -it mysql_102 /bin/bash root@57ce31a494ad:/# apt-get update root@57ce31a494ad:/# apt-get install vim root@57ce31a494ad:/# vi /etc/mysql/my.cnf #在配置文件最后添加 server-id=2 auto_increment_offset=2 auto_increment_increment=2 skip-slave-start log-slave-updates=true分別重啟mysql容器
[root@bigdata101 ~]# docker restart mysql_101[root@bigdata102 ~]# docker restart mysql_102?
容器配置
A(193.168.10.101) 上的容器配置
給主機(jī)B 賦予mysql權(quán)限
grant all on *.* to 'slave'@193.168.10.102 identified by '123456';初始化bin-log日志
reset master; show master status;?
B(193.168.10.102) 上的容器配置
給主機(jī)A 賦予mysql權(quán)限
grant all on *.* to 'slave'@193.168.10.101 identified by '123456';初始化bin-log日志
reset master; show master status;?
容器同步配置
在主機(jī)A的容器上重新登錄mysql后執(zhí)行:
change master to master_host='193.168.10.102',master_port=33305,master_user='slave',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=120;這里的master_host是指主機(jī)B的ip地址,master_port是B上的mysql容器啟動(dòng)時(shí)賦予的端口,master_uesr是執(zhí)行同步操作的用戶(hù)名,master_password是執(zhí)行同步的用戶(hù)密碼,master_log_file是主機(jī)B的bin-log日志,master_log_pos是從bin-log日志開(kāi)始同步的位置。
然后開(kāi)啟同步? 執(zhí)行:
start slave;查看是否成功:
show slave status\G;?
在主機(jī)B的容器上重新登錄mysql執(zhí)行:
change master to master_host='193.168.10.101',master_port=33305,master_user='slave',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=120; start slave; show slave status\G;?
此文大部分配置與?Linux下Mysql數(shù)據(jù)庫(kù)互為主從的配置過(guò)程 基本一致,只是本文是基于docker的配置,所以略作修改,如有細(xì)節(jié)問(wèn)題不清楚,可參考?Linux下Mysql數(shù)據(jù)庫(kù)互為主從的配置過(guò)程
轉(zhuǎn)載于:https://www.cnblogs.com/blazeZzz/p/10314194.html
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專(zhuān)家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的Docker配置mysql互为主从的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: [CQOI2018] 异或序列
- 下一篇: windows上安装gcc/g++环境(