MySQL主从复制
一,概述
主从复制是指将主数据库的DDL和DML操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做》,从而使得从库和主库的数据保持同步。
MySQL支持一台主库同时向多台从库进行复制,从库同时也可以作为其他从服务器的主库,实现链状复制。
MySQL 复制的优点主要包含以下三个方面:
1,主库出现问题,可以快速切换到从库提供服务。
2,实现读写分离,降低主库的访问压力。
3,可以在从库中执行备份,以避免备份期间影响主库服务。
二,原理
从上图来看,复制分成三步:
1,Master 主库在事务提交时,会把数据库变更记录在二进制日志文件 BinLog 中。
2,从库读取主库的二进制日志文件 BinLog,写入到从库的中继日志 Relay Log。
3,slave 重做中继日志中的事件,将改变反映它自己的数据。
三,搭建
两台服务器:192.168.2.128(主) 和 192.168.2.130(从)
主服务器配置:
1,安装 MySQL 服务
2,开放 3306 端口或者直接关闭并禁用防火墙。
3,修改配置文件 /etc/my.cnf
1 # mysql 服务ID,保证整个集群环境中唯一,取值范围:1 - 2^32 - 1,默认为 1。 2 server-id=1 3 # 是否只读,1 代表只读,0 代表读写 4 read-only=0 5 # 忽略的数据,指不需要同步的数据库 6 # binlog-ignore-db=mysql 7 # 指定需要同步的数据库 8 # binlog-do-db=db01
4,重启 MySQL 服务
5,登录 MySQL,创建远程连接的账号,并授予主从复制权限
1 # 创建 mscopy 用户,并设置密码,该用户可在任意主机连接 MySQL 服务 2 create user 'mscopy'@'%' identified with mysql_native_password by '123456'; 3 # 为 'mscopy'@'%' 用户分配主从复制权限 4 grant replication slave on *.* to 'mscopy'@'%';
6,通过指令,查看二进制坐标
1 show master status;
从服务器配置:
1,安装 MySQL 服务
2,开放 3306 端口或者直接关闭并禁用防火墙
3,修改配置文件 /etc/my.cnf
1 # mysql 服务ID,保证整个集群环境中唯一,取值范围:1 - 2^32 - 1,和主库不一样即可。 2 server-id=2 3 # 是否只读,1 代表只读,0 代表读写 4 read-only=1
4,重启 MySQL 服务
5,登录 MySQL,设置从库配置
1 # MySQL8.0.23 2 change replication source to source_host='xxx.xxx.xxx.xxx',source_user='xxx',source_password='xxx',source_log_file='xxx',source_log_pos=xxx; 3 # MySQL8.0.23之前 4 change master to master_host='xxx.xxx.xxx.xxx',master_user='xxx',master_password='xxx',master_log_file='xxx',master_log_pos=xxx;
参数名 | 含义 | 8.0.23之前 |
source_host | 主库 IP 地址 | master_host |
source_user | 连接主库的用户名 | master_user |
source_password | 连接主库的用户密码 | master_password |
source_log_file | binlog 日志文件名 | master_log_file |
source_log_pos | binlog 日志文件位置 | master_log_pos |
6,开启同步操作
1 start replica; # 8.0.22之后 2 start slave; # 8.0.22之前
7,查看 slave 的状态
1 show slave status\G
四,测试
自行测试
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2019-06-01 第十四周学习进度
2019-06-01 冲刺第十六天