mysql 主从,主主,主主复制时的主键冲突解决
原理:slave 的i/o thread ,不断的去master抓取 bin_log, 写入到本地relay_log 然后sql thread不断的更新slave的数据
把主服务器所有的数据复制给从服务器
slave_sql_running 主从的sql进程
slave_io_running 主从的io进程
seconds_behind_master 主从的数据延时
主从步骤
1.数据库2边同步,设置my.cnf
[mysqld]
log-bin=mysql-bin
binlog_format=mixed
server-id = 1
expire_logs_days = 10
log-bin=master-bin
log-bin-index=master-bin.index
binlog_ignore_db=mysql
binlog_ignore_db=infomation_schema
binlog_ignore_db=performance_schema
2.在master上建立mysql用户,给slave用
created user 'ruser'@'%' indentified by 'ruserpwd' 建立用户
grant replication slave on *.* to 'ruser'@'%' 用户授权
第二种方法:grant replication client,replication slave on *.* to 'ruser'@'192.168.%.%' identified by '密码123'
格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by “密码”;
grant all privileges on *.* to 'root'@'%' identified by 'wangxiaohu'; 所有权限
flush privileges
reset master; 清空master
reset slave; 清空slave
show master logs; 查看日志
show master status \G 查看master状态,当前日志,及位置master_log_file,master_log_pos
3.从服务器my.ini 配置
[mysqld]
server-id = 2
expire_logs_days = 10
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin
slave 从服务器上登录mysql运行change master 命令
show slave status \G 查看slave状态
change master to
MASTER_HOST='192.168.1.1' ,
MASTER_USER='' , //主服务器的帐号
MASTER_PASSWORD='',
MASTER_PORT=3306,
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=0;
4.start slave;
主主复制时的主键冲突解决
设置my.cnf里面的2个参数auto_increment_increment,auto_increment_offset
让1台服务器 1,3,5,7来增长
另1台服务器 2,4,6,8来增长
一台服务器:
set global auto_increment_increment = 2; // 全局
set global auto_increment_offset = 1;
set session auto_increment_increment = 2; //当次连接
set session auto_increment_offset = 1;
另一台服务器:
set global auto_increment_increment = 2;
set global auto_increment_offset = 2;
set session auto_increment_increment=2;
set session auto_increment_offset = 2;
注:auto-increment-increment 和 auto-increment-offset 要写到配置文件 中,防止下次重启后失效.
有几台服务器,auto_increment_increment就设置几,比如3台服务器,auto_increment_increment=3, 3台服务器的auto_increment_offset依次开始为,1,2,3
备注:
log-slave-updates是为从库的写操作记录binlog
多主互备和主从复制有一些区别,因为多主中的各个库,都可以对服务器有写权限,所以设计到自增长重复问题
可以看出,你的auto_increment字段在不同的服务器之间绝对不会重复,所以Master-Master结构就没有任何问题了。当然,你还可以使用3台,4台,或者N台服务器,只要保证auto_increment_increment = N 再设置一下auto_increment_offset为适当的初始值就可以了,那样,我们的MySQL可以同时有几十台主服务器,而不会出现自增长ID重复。
在这里我们说的是2台MYSQL服务器,你也可以扩展到多台,实现方法类似
A -> B -> C-> D ->A
这样一个环形的备份结构就形成了,最后可要记住 自增长ID(主键)要设计好哦,否则会出错的。
转载于:https://www.cnblogs.com/microtiger/p/7459321.html
mysql 主从,主主,主主复制时的主键冲突解决相关推荐
- mysql1.2.17,17.1 MySQL主从介绍17.2 准备工作17.3 配置主17.4 配置从17.5 测试主从同步...
- 17.1 MySQL主从介绍 - 17.2 准备工作 - 17.3 配置主 - 17.4 配置从 - 17.5 测试主从同步 # 17.1 MySQL主从介绍 - MySQL主从又叫做Repli ...
- mysql主主 主键冲突_mysql主从复制原理,主主复制时主键冲突解决
主从复制原理: 1.master的增删改记录写入binlog: 2.slave的I/O Thread(负责读取master的binlog)读取binlog并将记录写入relaylog: 3.slave ...
- 17.1 MySQL主从介绍 17.2 准备工作 17.3 配置主 17.4 配置从 17.5 测试主从同步
2019独角兽企业重金招聘Python工程师标准>>> 第十七章 MySQL主从配置 17.1 MySQL主从介绍 MySQL主从又叫做Replication.AB复制.简单讲就是A ...
- MySQL主从同步(一主一从、一主多从、主从从)等结构的概述与配置
前言:前面我们了解了MySQL数据库的基础知识,今天及接下来的五天时间里我会给大家带来MySQL进阶方面的一些学习总结,如有不足,还请大家留言指出:下面我们就开始今天的内容. ** 部署mysql主从 ...
- MySQL与Oracle主键冲突解决方式
1.MySQL主键冲突 当主键冲突时,可以选择更新或替换 1.1 主键冲突 主键冲突: mysql> desc my_class; +-------+-------------+------+- ...
- mysql主从切换gtid不一致_GTID 复制、主从不一致跳过操作、快速切换master
1. 部署 GTID 全局事务标识 mysql 5.6 加入 1.1 准备 配置文件 ## gtid repl config need server_id=52 #开启gtid gtid_mode= ...
- mysql插入时间区间_mybatis插入数据时返回主键以及MySQL根据时间区间查询问题总结...
最近做项目的过程中,在数据库方面遇到了两个问题,一是在插入一条数据的时候需要将该条数据的主键返回.二是根据时间区间进行查询时某一天的数据查询不到,在此总结记录一下. 1.如何在插入一条数据的同时将主键 ...
- app mysql图片存储空间不足,光影魔术手处理照片时提示存储空间不足的解决办法介绍...
光影魔术手是一款好用又经典的图片处理软件,但是不少朋友在允许光影魔术手时可能遇到过存储空间不足的问题,而又不知道怎么解决,只好重启程序.小编这里来教大家一招 软件名称:光影魔术手 nEO iMAGIN ...
- mysql 自动维护uuid_MySQL实现自动使用uuid作为主键以及解决不能调用触发器的一点思路...
这里使用触发程序实现此功能. 触发程序语法如下: Create trigger {before|after} {insert|update|delete} On For each row 核心代码: ...
最新文章
- 宝塔服务器环境好不好_服务器环境怎么搭建?(宝塔环境搭建教程)
- Codeforces Round #297 (Div. 2)D. Arthur and Walls 搜索bfs
- iTween基础之功能简介
- 网易青果后端系统设计窥探(含直播方案踩坑往事)
- 线性代数及其应用(part3)--对角化
- centos php 开启libgdgd_CentOS6.6下yum安装PHP的gd库失败?-问答-阿里云开发者社区-阿里云...
- 【转】android多分辨率适配
- Hibernate读书笔记
- LeetCode 413. 等差数列划分(DP)
- c 程序设计语言第1 3部分,《C程序设计语言(第2版新版)典藏版》 —1.3 for语句...
- 泛微oa连接mysql,泛微OA 数据库维护笔记(e-cology)
- 新浪微博数据采集以及人群画像分析
- 【c语言数学函数库】
- 小米路由器青春版刷Padavan固件
- 美团饿了吗CPS红包,别人领红包下单,你拿推广佣金(附源码)
- 关于微信支付预下单【统一下单】“操作超时”问题
- jupyter中markdown模式编辑文本格式
- png图片与svg图片的转换----icon图标的制作
- 【社区图书馆】读书推荐:《PyTorch高级机器学习实战》
- 项目实训2021.07.07