首页 技术 正文
技术 2022年11月11日
0 收藏 552 点赞 2,665 浏览 2112 个字

配置准备

两台机器

两台机器:A(193.168.10.101)  B(193.168.10.102) 做好ssh免密登录

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

并且两台机器已经安装好了docker

yum install docker

下载mysql镜像

docker pull mysql:5.6.31

mysql容器准备

两台机器分别启动mysql容器

[root@bigdata101 ~]# docker run -di -p :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 :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=
auto_increment_offset=
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=
auto_increment_offset=
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权限

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权限

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

初始化bin-log日志

reset master;
show master status;

容器同步配置

在主机A的容器上重新登录mysql后执行:

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是执行同步操作的用户名,master_password是执行同步的用户密码,master_log_file是主机B的bin-log日志,master_log_pos是从bin-log日志开始同步的位置。

然后开启同步  执行:

start slave;

查看是否成功:

show slave status\G;

在主机B的容器上重新登录mysql执行:

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数据库互为主从的配置过程 基本一致,只是本文是基于docker的配置,所以略作修改,如有细节问题不清楚,可参考 Linux下Mysql数据库互为主从的配置过程

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,023
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,513
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,361
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,143
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,774
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,853