2022 mysql 主从同步复制(新手入门)

本文详细介绍了如何在Windows和Linux环境下配置MySQL主从同步,包括设置server_id、开启日志、权限分配、查看binlog状态,以及从库的连接设置。适合MySQL初学者和运维人员参考。
摘要由CSDN通过智能技术生成


前言`

一、主服务器

windows:mysql 安装目录里面的my.ini(一般位于C:\ProgramData 隐藏目录下面)‘
linux:一般在vi /etc/my.cnf

server_id=1 #服务ID,用于区分服务,范围1~2^32-1
log_bin=master-bin # 打开二进制日志
#MySQL 磁盘写入策略
#此参数有3个值可设置:0、1、2
#0表示每秒刷写一次日志到硬盘,极端情况下MySQL或操作系统挂了最多丢1秒的数据更新
#1表示每次事务提交就写硬盘请求并通知操作系统同步文件到硬件,默认且最安全,性能比0低
#2表示每次事务提交就只写硬盘请求,由操作系统去择机同步文件到硬盘,效率高且比0安全一点(MySQL挂了不丢更新),但当操作系统挂掉,未同步到硬盘的数据更新全丢
innodb_flush_log_at_trx_commit=1 

#当sync_binlog =N (N>0) ,MySQL 在每写 N次 二进制日志binary log时,会使用fdatasync()函数将它的写二进制日志binary log同步到磁盘中去。sync_binlog 的默认值是0,像操作系统刷其他文件的机制一样,MySQL不会同步到磁盘中去而是依赖操作系统来刷新binary log。
sync_binlog=1
#同步数据库
binlog-do-db=db1 
binlog-do-db=db2
#不需要同步的数据库名称
binlog-ignore-db = information_schema
binlog-ignore-db = mysql
binlog-ignore-db = sys
binlog-ignore-db = performance_schema
#复制模式,三种:SBR(基于sql),RBR(基于行),MBR(混合模式)
binlog_format=MIXED #混合模式
expire_logs_days=30 #binlog过期清理时间
max_binlog_size=50M #binlog每个日志文件大小
#错误日志的文件名称
log-error="master-slave.err"

重启

二、从服务器

server_id=2 #服务ID
log_bin=slave-bin # 打开二进制日志
expire_logs_days=30

重启

三、同步配置

1.重启并登录主库(Master),创建一个用户用于主从复制,并赋予权限。

create user master_root identified with mysql_native_password by '123456';
grant replication slave on *.* to 'master_root'@'%';
flush privileges;

查看主服务器Mysql的File列和Positon列

show master status;

在这里插入图片描述

2.重启并登录从库(slave),执行从库关联主库的操作

change master to 
master_host='192.168.0.41', -- 主库ip地址
master_port=3306,
master_user='master_root', -- 刚才创建的账号
master_password='123456', -- 密码
master_log_file='master-bin.000005', --主库file文件名
master_log_pos=89125; --主库pos值

启动从节点:

start slave;

查看从库服务状态:

show slave status\G;

在这里插入图片描述
两个为yes 已经ok 了;

注:一主多从,同样的道理,建立多个用户,mysql 生成多个线程通道分发同步binlog,注意从库的server_id 服务id不能重复
如果从库建立关系失败的话,先排除原因,取消掉当前建立的从库配置,
在重新建立,执行下面sql;


stop slave;
reset slave all;

常用命令:

start slave; -- 启动从节点
stop slave; -- 停止从节点
reset slave all; -- 清除连接参数
show slave status; --查看连接参数

总结

简单同步完成,当然还得注意很多地方,比如binlog损坏,延迟,阻塞等等问题,这边就不过多赘述了,需要根据具体项目具体解决,希望这篇文章可以帮助到您,点个赞吧亲!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值