日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Docker配置mysql互为主从

發(fā)布時間:2025/6/17 数据库 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker配置mysql互为主从 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

配置準備

兩臺機器

兩臺機器:A(193.168.10.101)? B(193.168.10.102) 做好ssh免密登錄

mysql大版本需要一致,小版本可忽略

并且兩臺機器已經(jīng)安裝好了docker?

yum install docker

下載mysql鏡像

docker pull mysql:5.6.31

?

mysql容器準備

兩臺機器分別啟動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

查看容器是否啟動

[root@bigdata101 ~]# docker ps

分別進入兩個容器,安裝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) 上的容器配置

給主機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) 上的容器配置

給主機A 賦予mysql權(quán)限

grant all on *.* to 'slave'@193.168.10.101 identified by '123456';

初始化bin-log日志

reset master; show master status;

?

容器同步配置

在主機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是指主機B的ip地址,master_port是B上的mysql容器啟動時賦予的端口,master_uesr是執(zhí)行同步操作的用戶名,master_password是執(zhí)行同步的用戶密碼,master_log_file是主機B的bin-log日志,master_log_pos是從bin-log日志開始同步的位置。

然后開啟同步? 執(zhí)行:

start slave;

查看是否成功:

show slave status\G;

?

在主機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ù)庫互為主從的配置過程 基本一致,只是本文是基于docker的配置,所以略作修改,如有細節(jié)問題不清楚,可參考?Linux下Mysql數(shù)據(jù)庫互為主從的配置過程

轉(zhuǎn)載于:https://www.cnblogs.com/blazeZzz/p/10314194.html

《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的Docker配置mysql互为主从的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。