5.MySQL主从复制
  IS4yhiOomKTv 2023年11月02日 62 0

mysql主从复制

主从复制原理
多实例
必须开启二进制日志
#二(至少两个实例)二(二进制日志)三(三个线程)

描述主从复制的原理
当master进行dml操作时,会写入到binlog(二进制日志),dump线程会自动读取新生成的二进制日志,通过网络发送到slave的Io线程,io线程会转存到中继日志,sql线程从中继日志中读取数据,并执行到对应的数据库


服务器配置

主服务器配置

1.修改主服务器id
[mysqld]
server-id=128
启动数据库   systemctl start mysqld
2.开启二进制,  set sql_log_bin=1;  8.0默认为开启
3.在主服务上查看二进制位置,从服务器复制此位置之后的数据
show master logs;
binlog.000006 |       157 | No      
4.创建可供远程复制的账号
=(root@localhost) [(none)]>create user repluser@'10.0.0.%' identified by '123456';
5.授权账号复制的权限
=(root@localhost) [(none)]>grant replication slave on *.* to repluser@'10.0.0.%';

>show processlist;  #查看线程

从服务器1配置

1.修改从服务器id
[mysqld]
server-id=132
2.直接输入进mysql终端进行配置
CHANGE MASTER TO
  MASTER_HOST='10.0.0.128',
  MASTER_USER='repluser',
  MASTER_PASSWORD='123456',
  MASTER_PORT=3306,
  MASTER_LOG_FILE='binlog.000006',
  MASTER_LOG_POS=157,
  MASTER_CONNECT_RETRY=10;
3.打开两个线程
> start slave;
4.查看从节点状态
> show slave status\G
Slave_IO_Running: yes
Slave_SQL_Running: yes
Seconds_Behind_Master: 0     #表示同步完成

从服务器2配置

1.将主服务器所有数据导到文件
[19:37:50 root@rocky8 ~]# mysqldump -A -F --single-transaction --master-data=1 > /backup/all.sql
2.远程发送到新增的从服务器
scp /backup/all.sql 10.0.0.129:
3.修改从服务器id
 vim /etc/my.cnf
[mysqld]
server-id=129
4.在从服务器上修改all.sql文件
vim all.sql
CHANGE MASTER TO
  MASTER_HOST='10.0.0.128',   .....新增部分
  MASTER_USER='repluser',        .....新增部分
  MASTER_PASSWORD='123456',           .....新增部分
  MASTER_PORT=3306,                      .....新增部分
MASTER_LOG_FILE='binlog.000007', MASTER_LOG_POS=157;
5.临时禁用二进制
(root@localhost) [(none)]>set sql_log_bin=0;
6.执行all.sql,恢复数据库加执行从服务器
(root@localhost) [(none)]>source all.sql;
7.打开两个线程
> start slave;
双主服务器配置
将主从配置按照相反的方向来一遍,在从上配置主,在主上配置从
两个机器不能同时写,会发生堵塞,后面的数据也无法通过
跳过事件的个数
关闭线程:stop slave;
set global sql_slave_skip_counter=1   #跳过一个错误
开启线程:start  slave;

跳过事件的编号
[mysqld]
slave_skip_errors=1007|ALL


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  eHipUjOuzYYH   2023年12月10日   26   0   0 mysqlsqlUser
  Yoru5qB4TSKM   2023年12月10日   39   0   0 服务器重启IP
  9JCEeX0Eg8g4   2023年12月11日   25   0   0 mysql配置文件