博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql主从复制要点02
阅读量:6409 次
发布时间:2019-06-23

本文共 3690 字,大约阅读时间需要 12 分钟。

hot3.png

问题汇总

show master status没有结果, binglog没有开关或生效
log_bin
serverid
步骤
1.准备多实例环境
2.配置my.cnf
3登录主库增加用于从库连接主库的同步账号rep并且授权replication slave同步的权限
4登录主库。整库锁表flush table with read lock (窗口关闭失效,超时参数达到也失效),然后show master status 查看binlog的位置状态
5新开窗口linux命令行导出sql拷贝到从库所在的及其
6解锁及其
7把主库导出的sql恢复到从库中
8根据主库的show master status查看binlog的位置状态在从库执行change master to
9从库开启开关start slave
10 show slave status查看同步状态
要点
异步方式同步
逻辑同步模式,多种模式,默认是通过sql语句执行
主库通过记录binlog实现对从库的同步,binlog记录数据库的跟新语句
主库一个线程,从库由1个io线程和一个sql线程来完成
从库关键文件master。info,relay-log,relay info功能
若想完成级联 需要打开logbin和log-slave-updates;
生产环境快速配置mysql主从复制的方案
安装好配置从库的数据库,配置好log-bin和server-id参数
无需登录配置主库my.cnf,主库的log-bin和server-id默认配置好的
登录主库用于从库连接主库同步的账号
使用mysqldump 带--master-data=1无需binlog文件及对应的位置点
从库开启同步开关start slave;
从库show slave status检查同步状态跟新测试
mysql> show processlist;
+----+------+----------------------+------+-------------+------+-----------------------------------------------------------------------+------------------+
| Id | User | Host                 | db   | Command     | Time | State                                                                 | Info             |
+----+------+----------------------+------+-------------+------+-----------------------------------------------------------------------+------------------+
|  2 | root | localhost            | NULL | Query       |    0 | NULL                                                                  | show processlist |
| 11 | root | 192.168.88.172:40311 | NULL | Binlog Dump | 3190 | Master has sent all binlog to slave; waiting for binlog to be updated | NULL             |
+----+------+----------------------+------+-------------+------+-----------------------------------------------------------------------+------------------+
2 rows in set (0.00 sec)
mysql> show processlist;
+----+-------------+-----------+------+---------+------+-----------------------------------------------------------------------------+------------------+
| Id | User        | Host      | db   | Command | Time | State                                                                       | Info             |
+----+-------------+-----------+------+---------+------+-----------------------------------------------------------------------------+------------------+
|  3 | root        | localhost | NULL | Query   |    0 | NULL                                                                        | show processlist |
|  4 | system user |           | NULL | Connect | 3241 | Waiting for master to send event                                            | NULL             |
|  5 | system user |           | NULL | Connect | 3037 | Slave has read all relay log; waiting for the slave I/O thread to update it | NULL             |
+----+-------------+-----------+------+---------+------+-----------------------------------------------------------------------------+------------------+
3 rows in set (0.00 sec)
my.cnf
master端
--binlog-do-db二进制日志记录数据库多个数据库用,分割
--binlog-ignore-db二进制日志胡月数据库多个数据库用,分割
replication的slave端六个参数
--replication-do-db需要制定复制的数据库
--replication-ignore-db设定胡月的数据库=db
--replication-do-table
--replication-ignore-table
--replication-wild-do-table
--replication-wild-ignore-table
生产授权方案
主库 select insert delete update
从库 回收insert delete update
通过readonly
super不限制
[mysqld] readonly
slave-iostatus yes
slave sql running no
second sql behindmaster 是否为0 0为同步
方法一stop slave
set global sql_slave_skip_counter=10
start slave;
方法二
根据错误号跳过制定的错误
slave-skip-errors=1032,1062;
让mysqwl记录binlog
1级联
2把从库作为备份的服务器
log-slave-updates只加这一句话[mysqld]
expire_log_days=7保留七天的binlog
主库down机
show processlist;
查看所有从库的master info看哪个的跟大
选个pos最大的作为主库
1确保所有的relay log全部更新完毕
在每个从库上执行stop slave io_thread;
show processlist;
直到看到has readall relay log
2登录到主库
stop slave;
reset ;
quit
3进到数据库数据目录,删除master。info rtelay——log  info功能
cd /data/3306/data
rm -f master.info relay-log.info
检查授权表readonly参数
4
开启binlog注释 slave-log  readonly
restart
其他冲库
stop slave;
change master 只改ip
解决主键自增长id错误
master1;
auto_increament_increament=2  --1,3,5
auto_increament_offset=1起始位置
master2
auto_increament_increament=2  --2,4,6
auto_increament_offset=2
使用主主的前提,主键自增

转载于:https://my.oschina.net/goudingcheng/blog/596495

你可能感兴趣的文章
Python ( 1 ) ----- 简介
查看>>
[linux基础学习]run level
查看>>
第七周学习总结
查看>>
一步步的教你安装UChome (UChome 安装教程)
查看>>
[DeeplearningAI笔记]序列模型1.5-1.6不同类型的循环神经网络/语言模型与序列生成...
查看>>
P2533 [AHOI2012]信号塔
查看>>
Android电话拨号器(uri格式)与四种设置点击事件的方法
查看>>
java web中对json的使用
查看>>
TYVJ P1051 选课 Label:多叉转二叉&&树形dp(虐心♥)
查看>>
将数据库中提取出来的数据在后台进行分页处理
查看>>
bzoj1034
查看>>
百度地图 鼠标绘制,获取矩形,多边形的顶点经纬度
查看>>
回文树模板
查看>>
struts2之防止表单重复提交
查看>>
【转】Netty系列之Netty并发编程分析
查看>>
cf591d
查看>>
图片存储系统TFS
查看>>
MYSQL备份与恢复
查看>>
贪心/数学 Codeforces Round #212 (Div. 2) A. Two Semiknights Meet
查看>>
Python类__call__()方法
查看>>