1.概述:
主从复制是指将主数据库的DDL语句和DML语句操作通过二进制日志传到从库数据库当中,从库对这些日志重新执行(页叫重做),从而保持从库和主库数据保持一致。MySQL支持一台主库同时向多台从库进行复制,从库也可以作为其它服务器的主库,从而实现链状复制
作用:
1)主库如果出现问题,可以切换到从库提供服务
2)实现读写分离,降低主库的访问压力
3)可以从从库中进行备份
2.原理
主从复制分三步:
3.搭建
1)准备两台服务器,并且设置防火墙(我这里是两个linux服务器):
| 开发指定的3306端口号 |
|---|
| firewall -cmd --zone=public--add-port=3306/tcp -permanent |
| firewall-cmd-reload |
| 关闭防火墙 |
|---|
| systemctl stop firewalld |
| systemctl disable firewalld |
关闭防火墙的两条指令都需要执行:
- 主库搭建
1)需要先配置两个变量
需要使用vim编辑器
变量配置如下
2)需要创建一个远程连接的账号,并授予主从复制权限
| 创建用户并设置密码,该用户可以任意连接mysql服务器 | CREATE USER '用户名'@'%' IDENTIFIED WITH mysql_native_password BY '密码' |
| 分配主从复制权限 | GRANT RIPLICATION SLAVE ON *.* TO '用户名'@'%' |
创建用户![]()
赋予权限![]()
如果出现这样的问题
那是因为符号问题,认真检查符号,改成英文符号。
3)查看二进制坐标:
| show master status |

- 从库搭建
1)配置两个变量

2)连接主库用户:
| CHANGE REPLICATION SOURCE TO SOURCE_HOST='IP地址',SOURCE_USER='用户名',SOURCE_PASSWORD='密码',SOURCE_LOG_FILE='二进制文件',SOURCE_LOG_POS=坐标; |

3)同步:
4)查看主从同步状态:
如果出现以下问题
可以试着将从库重启:systemctl restart mysqld
本文详细介绍了MySQL的主从复制机制,包括其作用、工作原理及搭建步骤。主从复制用于故障切换、读写分离和备份。在搭建过程中,涉及了配置变量、创建复制用户、查看二进制日志坐标等操作。同时,文章还提到了从库搭建及同步过程中的常见问题和解决方法,如权限问题和同步状态检查。
573

被折叠的 条评论
为什么被折叠?



