1.首先搭建主从

主环境:192.168.1.117

从环境:192.168.1.123

a.首先以二进制包的形式安装好MariaDB (忽略不计)

b.配置环境的变量

通配

[mysqld]

binlog-format=row

log-slave-updates=True

master-info-repository=table

relay-log-info-repository=table

sync-master-info=1

slave-parallel-threads=2

binlog-checksum=CRC32

master-verify-checksum=1

slave-sql-verify-checksum=1

binlog-rows-query-log-events=1

我主从服务器都配置log-bin以及relay-log

主服务器

server_id = 100

log-bin=mysql-bin、

relay_log=relay-bin

从服务器

server_id=101

log-bin=mysql-bin

relay_log=relay-bin

c.先使用主机器给从机器授权

主上操作

GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'192.168.1.123' IDENTIFIED BY "密码"

show master status   查看从服务器的 bin-log 文件以及 偏移量

select binlog_gtid_pos("mysql-bin.000001",1696); 查看gtid号

d. 启动同步

set global  gtid_slave_pos='0-1001-58';

change master to

master_host='192.168.1.123',

master_user='slave',

master_password='密码',

master_port=3306,

master_use_gtid=slave_pos;

start slave;

这里和以前基于二进制日志进行复制的区别:需要设置全局 gtid_slave_pos值 ,并且使用Master_use_gtid语句

查看同步状态,无错误即正常

F.可以进行主从的数据

看主从数据是 否一致

以上没有考虑到数据量过大的情况,如果数据量过大,还是现在主库上做备份,然后导到从库上

2.故障切换模拟

a.杀死mysql进程 模拟数据库挂掉的情况

ps -ef|grep mysql

kill -9  pid

b.在从服务器上将 slave 去除掉

reset slave all;

c.授权给从库

GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'192.168.1.117' IDENTIFIED BY "密码"

d. 在新的从库上启动 复制

  • 从库采用gtid的复制,语法为:CHANGE MASTER TO master_use_gtid = { slave_pos | current_pos | no }

  • 一般使用slave_pos,当A->B,A挂掉,B当master,然后A好了,想要做B的slave情况下,使用current_pos,因为B以前是主库,没有slave_pos这个值

由官网得知

change master to

master_host='192.168.1.117',

master_user='slave',

master_password='密码',

master_port=3306,

master_use_gtid=current_pos;

start slave;

e.查看新的从库的信息

show slave status\G;

f. 测试一下看主从是否一致

最新文章

  1. WPF中实现登陆窗口的“记住帐号”功能
  2. swift第二季高级语法
  3. ytu 1304:串的简单处理(水题)
  4. 嵌入式 linux 移植修改后的libjpeg 实现内存中解码
  5. The First
  6. (转) mysql数据库引擎:MyISAM和InnoDB(性能优化)
  7. CentOS 7 修改hostname
  8. win7 snmp
  9. 201521123059 《Java程序设计》第一周学习总结
  10. MapReduce(二) MR的高级特性-序列化、排序、分区、合并
  11. MyBatis简单使用和入门理解
  12. Codeforces.618F.Double Knapsack(构造 鸽巢原理)
  13. 【转】PyDev Eclipse使用技巧说明
  14. day06字典类型
  15. angularjs探秘<二>表达式、指令、数据绑定
  16. s4-9 二层设备
  17. mysql数据库2
  18. [置顶] 【玩转cocos2d-x之二十】从CCObject看cocos2d-x的内存管理机制
  19. 基于node的前端页面实时更新。呦吼~
  20. java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/xiaozao_web]]

热门文章

  1. spring基于xml的事务控制
  2. 使用androidstudio时遇到的一些小错误
  3. 2019-5-21-win10-uwp-url-encode
  4. texi2dvi - 打印 Texinfo 文档
  5. fzu 1901 next+脑洞
  6. Vue学习笔记【1】——什么是Vue.js
  7. 设置select下拉框高度的一种方法
  8. hive的调优
  9. BZOJ 3238: [Ahoi2013]差异((单调栈+后缀数组)/(后缀树))
  10. TI低功耗蓝牙(BLE)介绍【转】