mysql5主从配置
同学们会有mysql主从配置的需求吗?这里我给大家讲一下mysql5.7的主从配置教程。
- 我们通过docker来安装mysql,这样会方便很多
//拉取镜像
docker pull docker pull mysql
//查看镜像
docker images
//安装主数据库
docker run --name master -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.38-oracle
//安装从数据库
docker run --name slave -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.38-oracle
- 修改主、从数据库的配置
2.1 连接主数据库,添加同步账号
# 添加账号
GRANT REPLICATION SLAVE ON *.* to 'backup'@'%' identified by 'backup';
# 验证
show grants for 'backup'@'%';
2.2 修改主从数据库配置
我的镜像的配置在 容器的位置是 /etc/my.cnf,在主数据库配置[mysqld]最后一行加上
# 开启log-bin
log-bin=mysql-bin
server-id=1
从数据库配置[mysqld]最后一行加上
# 开启log-bin
log-bin=mysql-bin
server-id=2
这样数据库才分得清哪个是主数据库,哪个是从数据库并开启binlog。
修改完数据库配置需要重启数据库使配置生效
docker start master
docker start slave
- 修改从数据库
连接从数据库
CHANGE MASTER TO
MASTER_HOST='[你的服务器IP]',
MASTER_PORT=3306,
MASTER_USER='backup',
MASTER_PASSWORD='backup';
# 查询同步是否开启
show slave status;
如果正常的话,是下面这样,两个都是Yes
如果不是,执行下面语句。需要注意的是,两个数据库需要数据库结构相同,不然会同步失败。
stop slave ;
set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
start slave ;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)