(一)gtid主从半同步复制 一.半同步复制原理 mysql默认的复制是异步的,主库在执行完客户端提交的事务后会立即将结果返回给客户端,并不关心从库是否已经接收并处理,这样就会有一个问题,主库如果crash掉了,此时主库上已经提交的事务可能并没有传到从上,如果此时,强行将从提升为主,可能导致新主上的数据不完整. 当主库执行完一个事务,所有的从库都执行了该事务才返回给客户端.因为需要等待所有从库执行完该事务才能返回,所以全同步复制的性能必然会收到严重的影响. 介于异步复制和全同步复制之间,主库在执…
之前已经详细介绍了Mysql基于GTID主从复制的概念,原理和配置,下面整体记录下MySQL5.7基于GTID主从复制+并行复制+增强半同步复制+读写分离环境的实现过程,以便加深对mysql新特性GTID复制的理解和实际业务场景中部署应用. 一.实验环境 [root@mysql-master ~]# cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) 为了方便实验,关闭所有节点的防火墙 [root@mysql-master ~…
搭建从库,本质上需要的只是一个一致性备份集及这个备份集对应的位置点信息.之前介绍的几个备份工具(MySQL中如何选择合适的备份策略和备份工具)均可满足. 这里,我们重点看看如何基于 XtraBackup 搭建从库. 整个过程其实比较简单,无非是备份还原.唯一需要注意的是建立复制时位置点的选择,包括: 在基于位置点的复制中,CHANGE MASTER TO 语句中 MASTER_LOG_FILE 和 MASTER_LOG_POS 的选择. 在 GTID 复制中,在执行 CHANGE MASTER…
mysql5.6的主从相当的不错,增加了不少参数,提升了主从同步的安全和效率,以下是mysql5.6主从参数详解. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ######################################### server_id = 2 #binlog log-bin = /data1/mysql/binlog/binlog binlog_format…
MySQL5.7 的GTID复制 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 在MySQL5.6之后其官方推出了GTID复制方式,和传统的基于bin log复制方式有所不同,接下来我们一起来了解一下它! 一.什么是GTID(global transaction identitifiers) GTID复制是完全基于事务的复制,即每个在主库上执行的事务都会被分配到一个唯一的全局ID并记录和应用在主库上. 这种复制方式简化了简历slave和master/slave之间的切换工作…
情况时这样的: 主从系统 centos6.5 mysql5.6 由于机房迁移ip地址变了,导致原来的主动无法同步,于是需要重新建立主从关系. 主 192.168.1.23 从 192.168.1.22 创建授权用户(主) 创建用户,赋予权限用来给从库做主从同步. ? 1 2 <code class="hljs sql">GRANT REPLICATION SLAVE ON *.* TO 'slave'@'192.168.1.22' IDENTIFIED BY 'slavep…
centos6.5环境DNS-本地DNS主从服务器bind的搭建 在上一篇博客中我已经搭建好了一个本地DNS服务器,能够实现正向反向解析,那么我们只需要加入一台从DNS服务器即可完成,我们来开始配置主从服务器: 一.主DNS服务器上面的额外配置: # cat chinasoft.com.zone $TTL 43200 @       IN      SOA     dns.chinasoft.com   admin.chinasoft.com. (                        …
主从集群 在搭建主从集群前,我们先把Redis安装起来: #解压Redis压缩包 [root@master lf]# tar -zxvf redis-6.2.1.tar.gz -- #安装gcc [root@master redis-6.2.1]# yum install gcc -- [root@master lf]# cd redis-6.2.1 #进入解压好的Redis目录,进行编译和安装 [root@master redis-6.2.1]# make -- 之后,我们在Redis目录下创…
使用mysql5.7版本的mysqldump命令执行备份mysql8.0版本的数据库时会报错: mysqldump: Couldn't execute 'SET SQL_QUOTE_SHOW_CREATE=1/*!40102 ,SQL_MODE=concat(@@sql_mode, _utf8 ',NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS') */': Variable 'sql_mode' can't be set to the valu…
1.两个空库,都是row+gtid,版本为MySQL5.7.22mydb1执行:(dba_user@localhost) [(none)]> show master status;+------------------+----------+--------------+------------------+------------------------------------------+| File             | Position | Binlog_Do_DB | Binlo…