栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

文章目录
  • 前言`
  • 一、主服务器
  • 二、从服务器
  • 三、同步配置
    • 1.重启并登录主库(Master),创建一个用户用于主从复制,并赋予权限。
    • 2.重启并登录从库(slave),执行从库关联主库的操作
  • 总结


前言` 一、主服务器

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 statusG;


两个为yes 已经ok 了;

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

stop slave;
reset slave all;

常用命令:

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

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1000353.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号