搭建mysql的主从服务

这里是以mysql5.7版本为例。

准备好三台mysql服务器:192.168.1.115(主),192.168.1.116(从),192.168.1.117(从) 默认端口都是3306

1.部署mysql:

  首要前提:三台机器的server-id 一定得设置成不同数值。 

1
2
3
4
5
6
7
8
192.168.1.115:
server-id:1
 
192.168.1.116:
server-id:2
 
192.168.1.117:
server-id:3

  修改完server-id以后记得重启一下mysql

当然,还有一些参数可以修改:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[mysqld]
#开启二进制日志
log-bin=mall-mysql-bin
#设置server-id,和从不能一样
server-id=1
# 设置使用的二进制日志格式(row-行级别;statement=语句级别;mixed-混合级别)
binlog-format=mixed
#同步的数据库名称,如果不配置,表示同步所有的库
## binlog-do-db=db1
#指定不需要同步的数据库名称
binlog-ignore-db=mysql
#设置二进制日志使用内存大小(事务)
binlog_cache_size=1M
# 二进制日志过期清理时间,默认为0,表示不自动清理
expire_logs_days=7
#忽略主从复制中遇到的所有错误活指定的错误类型,避免slave端复制中断
## 如:1062错误码代表主键重复;1032错误码代表主从数据库数据不一致
slave_skip_errors=1062

  上述中,server-id,log-bin需要设置不一致。

2.创建用户:

  在主库中,创建一个用户用于同步主从数据。并赋予权限

1
CREATE USER 'slave'@'%' IDENTIFIED BY '123456';GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';flush privileges;

3.查看Master状态记住file和position

1
show master status;

  记住File和Position,后面需要用到。此时一定不要操作Master库,否则将会引起Master状态的变化,File和Position字段也将会进行变化。

4.从节点配置、启动同步

  进入到Slave库myslq客户端,执行如下命令:(注意master-bin.000004的master_log_pos位置要一样)

1
change master to master_host='192.168.1.115', master_user='slave', master_password='123456', master_port=3306, master_log_file='mall-mysql-bin.000003', master_log_pos=154, master_connect_retry=30;

  上述参数的解析:

1
2
3
4
5
6
命令说明:master_host :Master库的地址,指的是容器的独立ip
master_port:Master的端口号,指的是容器的端口号 master_user:用于数据同步的用户
master_password:用于同步的用户的密码 master_log_file:指定 Slave
从哪个日志文件开始复制数据,即上文中提到的 File 字段的值 master_log_pos:从哪个 Position
开始读,即上文中提到的 Position 字段的值
master_connect_retry:如果连接失败,重试的时间间隔,单位是秒,默认是60秒

4.1.开启主从复制

  首先前提在从库中:

1
start slave;

4.2.查看状态

1
show slave status\G

  Slave_IO_Running 和 Slave_SQL_Running是查看主从是否运行的关键字段,默认为YES,表示主从状态正常。

 

posted on   一先生94  阅读(20)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· Blazor Hybrid适配到HarmonyOS系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 分享4款.NET开源、免费、实用的商城系统
· 解决跨域问题的这6种方案,真香!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库
历史上的今天:
2022-10-19 python当中如何来获取文件路径
2022-10-19 python当中map,reduce和filter函数用法和区别
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示