mycat学习前置准备 --- 基于docker安装mysql,并实现主从复制

docker下安装mysql请参考:

https://blog.youkuaiyun.com/zhangshenglu1/article/details/106037155

现在让我们进入到mysql的容器中:

[root@localhost ~]# docker exec -it mysql5.7 /bin/bash

然后进入到/ect/mysql文件夹中:

root@3f83012c5cab:/etc/mysql# vim my.cnf
bash: vim: command not found

首先执行:

root@f6157231f754:/etc/mysql# apt-get update
Get:1 http://repo.mysql.com/apt/debian buster InRelease [21.5 kB]
Get:2 http://security.debian.org/debian-security buster/updates InRelease [65.4 kB]                       
Get:3 http://repo.mysql.com/apt/debian buster/mysql-5.7 amd64 Packages [5685 B]
Get:4 http://deb.debian.org/debian buster InRelease [121 kB]                  
Get:5 http://deb.debian.org/debian buster-updates InRelease [49.3 kB]                                     
Get:6 http://deb.debian.org/debian buster/main amd64 Packages [7905 kB]                                   
Get:7 http://security.debian.org/debian-security buster/updates/main amd64 Packages [197 kB]              
Get:6 http://deb.debian.org/debian buster/main amd64 Packages [7905 kB]    

等上面的更新完成再继续执行:

apt-get install vim

这里我们在192.168.3.39安装的mysql 作为主机(master),192.168.3.42上的安装的myql作为从机(slave。

一、主机上的配置:

1、通过docker exec -it mysql5.7 进入到容器内部,然后修改对应配置文件。

[root@localhost etc]# docker exec -it mysql5.7 /bin/bash
root@f6157231f754:/# vim /etc/mysql/my.cnf

[mysqld] ## 同一局域网内注意要唯一

server-id=100

#开启二进制日志功能,可以随便取

log-bin=mysql-bin

2、退出容器

root@f6157231f754:/etc/mysql# exit

3、重启mysql容器

[root@localhost etc]# docker stop mysql5.7
mysql5.7
[root@localhost etc]# docker start mysql5.7
mysql5.7

4、使用客户端连接主机,然后授予用户 slave REPLICATION SLAVE权限和REPLICATION CLIENT权限,用于在主从库之间同步数据。

CREATE USER 'slave'@'%' IDENTIFIED BY '123456';

GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';

二、从机上的配置

1、跟主机一样,将从机中配置文件中添加如下配置:

[mysqld]
## 设置server_id,注意要唯一
server-id=101  
## 开启二进制日志功能,以备Slave作为其它Slave的Master时使用
log-bin=mysql-slave-bin   
## relay_log配置中继日志
relay_log=edu-mysql-relay-bin  

2、重启mysql 容器

[root@localhost etc]# docker stop mysql5.7
mysql5.7
[root@localhost etc]# docker start mysql5.7
mysql5.7

三、连接Master和slave(从机)

1、在slave上执行如下sql:
CHANGE MASTER TO MASTER_HOST = '192.168.3.39',
MASTER_USER = 'slave',
MASTER_PASSWORD = '123456',
MASTER_PORT = 3306,
MASTER_LOG_FILE = 'mysql-bin.000001',
MASTER_LOG_POS = 609,
MASTER_CONNECT_RETRY = 30 ;
2、开启复制状态
START SLAVE;
3、查看slave的状态
SHOW SLAVE STATUS ;

在这里插入图片描述

四、测试是否成功

1、在主机上执行创建数据的操作:

CREATE DATABASE testdb;

2、查看从机中是否新增了一个名为 testdb的数据库

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值