MYSQL主从同步配置过程记录-docker方式

近期在学习MYSQL的主从读写分离,先学习了如何配置MYSQL的主从复制,在这里记录一下步骤。

我采用的是在虚拟机上通过docker来开启两个节点作为主从数据库服务,那么首先要在docker上拉取镜像

docker pull mysql

拉取完镜像后,我们可以用docker images命令来查看拉取完成的镜像

这里可以看到,mysql的镜像已经拉取下来了,那么下一步就是要开启两个节点,分别作为主节点和从节点

docker run -itd --name mysql-master -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

docker run -itd --name mysql-slave -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

这样,我们就开了两个节点,3306端口是主节点,3307节点是从节点

节点创建好了,那么下一步就是要开启主从复制了。

首先,我们需要修改主节点的配置文件

进入主节点的容器内部

docker exec -it mysql-master bash

可以看到,我们成功进入了容器

配置文件的路径在/etc/mysql/my.cnf中,这时候我们一般会vim /etc/mysql/my.cnf。但docker容器中并没有自带vim编辑器,所以我们还需要自行下载。

先输入 apt-get update,等待更新完毕后,再输入 apt-get install vim,等待安装完毕,我们就可以正常使用vim进行编辑了。

成功安装vim,我们来编辑mysql的配置文件

主要的操作就是,在mysqld下面,加上两行配置。l og-bin=mysql-bin,这一步是开启操作记录日志,主从复制就是通过这里的日志来进行的。server-id=1,则是给主节点指定一个标识,从节点要与之不同。

这里配置完成后,输入exit退出容器,然后 docker restart mysql-master重启主节点,主节点上的配置就算完成了。

主节点配置完了,下一步就是配置从节点。

和主节点一样,进入从节点的容器,然后修改my.cnf

这里只需要指定一个不同于主节点的server-id即可。

同样,修改完成后,我们重启从节点。

下一步,我们就要去mysql中输入命令开启主从复制了。

首先我们用navicat连接主从两个服务器

首先打开主节点的查询界面,输入 show master status,执行

这里的file和position是需要记下来的,在从节点的配置上有用。

由于我们采用的是docker进行部署,docker容器间是隔离的,所以无法直接通过本地ip访问到主节点。好在docker为容器提供了虚拟ip,容器之间可以通过这些虚拟ip进行相互访问。

输入 docker inspect mysql-master 会输出很多内容,里面有我们需要的虚拟ip

可以看到,主节点的虚拟ip是172.17.0.2。知道这个以后,我们就可以去从节点进行配置了。

change master to
master_host='172.17.0.2',
master_port=3306,
master_user='root',
master_password='123456',
master_log_file='mysql-bin.000002',
master_log_pos=348

执行如上语句,即可让从节点通过主节点的日志来进行复制操作,也就是主从复制了。

执行完上述语句后,再执行 start slave 我们就可以真正开启主从复制了

我们可以输入 show slave status 来查看状态

如果我们看到Slave_IO_State是Waiting for source to send event,那就代表着我们的主从复制已经成功了。

下面我们来测试一下,是否真的可以实现主从复制。

我们在主库执行语句 create database test_db

可以看到,主库和从库都创建了一个新的数据库test_db

我们在主库新建表、插入数据等操作,都会被同步到从库中,证明我们的主从同步已经配置成功了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值