马哥学习笔记二十六——MySQL主从复制

配置MySQL复制基本步骤:

  一、master

  1、启用二进制日志

  log-bin = master-bin

  log-bin-index = master-bin.index

  2、选择一个惟一server-id

  server-id = {0-2^32}

  3、创建具有复制权限的用户

  REPLICATION SLAVE

  REPLICATION CLIENT

  二、slave

  1、启用中继日志

  relay-log = relay-log

  relay-log-index =

  2、选择一个惟一的server-id

  server-id = {0-2^32}

  3、连接至主服务器,并开始复制数据;

  mysql> CHANGER MASTER TO MASTER_HOST=‘‘,MASTER_PORT=‘‘,MASTER_LOG_FILE=‘‘,MASTER_LOG_POS=‘‘,MASTER_USER=‘‘,MASTER_PASSWORD=‘‘;

  mysql> START SLAVE;(启动线程)

  mysql> START SLAVE IO_Thread;

  mysql> START SLAVE SQL_Thread;

复制线程:
  master: dump
  slave: IO_Thread, SQL_Thread

read-only = YES

  在从服务器上设定,但对具有SUPER权限的用户不生效;

sync-binlog = ON

  在主服务器上设定,用于事务安全;

设置半同步步骤:(插件在/usr/local/mysql/lib/plugin)

  在Master和Slave的mysql命令行运行如下代码:

  # On Master

  mysql> INSTALL PLUGIN rpl_semi_sync_master SONAME ‘semisync_master.so‘;

  mysql> SET GLOBAL rpl_semi_sync_master_enabled = 1;

  mysql> SET GLOBAL rpl_semi_sync_master_timeout = 1000;

  # On Slave

  mysql> INSTALL PLUGIN rpl_semi_sync_slave SONAME ‘semisync_slave.so‘;

  mysql> SET GLOBAL rpl_semi_sync_slave_enabled = 1;

  mysql> STOP SLAVE IO_THREAD; START SLAVE IO_THREAD;

  在Master和Slave的my.cnf中编辑:

  # On Master

  [mysqld]

  rpl_semi_sync_master_enabled=1

  rpl_semi_sync_master_timeout=1000 # 1 second

  # On Slave

  [mysqld]

  rpl_semi_sync_slave_enabled=1

  # 也可通过设置全局变量的方式来设置,如下:

  set global rpl_semi_sync_master_enabled=1

  # 取消加载插件

  mysql> UNINSTALL PLUGIN rpl_semi_sync_master;

  查看从服务器上的semi_sync是否开启:

  mysql> SHOW GLOBAL STATUS LIKE ‘rpl_semi%‘;

  查看主服务器上的semi_sync是否开启,注意clients 变为1 ,证明主从半同步复制连接成功:

  mysql> SHOW GLOBAL STATUS LIKE ‘rpl_semi%‘;

percona: percona-tools(主从复制管理工具)
  mattkit-tools

数据库复制过滤

  在主服务器上实现:

  binlog-do-db=mydb

  binlog-ignore-db=mysql

  从服务器:

  replicate_do_db

  rpplicate_ignore_db

  replicate_do_table

  replicate_ignore_table

  replicate_wild_do_table(可以通过通配符匹配)

  replicate_wild_ignore_table

马哥学习笔记二十六——MySQL主从复制

时间: 2024-12-14 11:25:35

马哥学习笔记二十六——MySQL主从复制的相关文章

马哥学习笔记二十四——分布式复制快设备drbd

DRBD: 主从 primary: 可执行读.写操作 secondary: 文件系统不能挂载 DRBD: dual primay, 双主(基于集群文件系统的高可用集群) 磁盘调度器:合并读请求,合并写请求: Procotol:drbd数据同步协议 A: Async, 异步  数据发送到本机tcp/ip协议栈 B:semi sync, 半同步  数据发送到对方tcp/ip协议 C:sync, 同步  数据到达对方存储设备 DRBD Source: DRBD资源 资源名称:可以是除了空白字符外的任意

马哥学习笔记二十五——ISCSI协议,架构及其安装配置

ISCSI监听在tcp/3260端口 iSCSI Target:iscsi-target-utils 客户端认正方式: 1.基于IP 2.基于用户,CHAP tgtadm:命令行工具,模式化命令 --mode 常用模式:target,logicalunit,account target --op new.delete.show.update.bind.unbind logicalunit --op new.delete account --op new.delete.bind.unbind --

马哥学习笔记二十二——高可用集群原理

HA Resource:资源 FailOver:故障转移 FailBack:故障转回 资源粘性:资源是否倾向于留在当前节点 Messaging Layer:集群服务信息层,基于UDP互相传递心跳信息,集群事务信息等 heartbeat(v1,v2,v3) heartbeat v3:heartbeat,pacemaker,cluster-glue corosync cman keepalived ultramonkey CRM:(cluster resource manager)集群资源管理器,统

马哥学习笔记二十八——nginx反向代理,负载均衡,缓存,URL重写及读写分离

Nginx反向代理 Nginx通过proxy模块实现反向代理功能.在作为web反向代理服务器时,nginx负责接收客户请求,并能够根据URI.客户端参数或其它的处理逻辑将用户请求调度至上游服务器上(upstream server).nginx在实现反向代理功能时的最重要指令为proxy_pass,它能够将location定义的某URI代理至指定的上游服务器(组)上.如下面的示例中,location的/uri将被替换为上游服务器上的/newuri. location /uri { proxy_pa

马哥学习笔记三十二——计算机及操作系统原理

缓存方式: 直接映射 N路关联 缓存策略: write through:通写 write back:回写 进程类别: 交互式进程(IO密集型) 批处理进程(CPU密集型) 实时进程(Real-time) CPU: 时间片长,优先级低IO:时间片短,优先级高 Linux优先级:priority 实时优先级: 1-99,数字越小,优先级越低 静态优先级:100-139,数据越小,优先级越高 实时优先级比静态优先级高 nice值:调整静态优先级   -20,19:100,139   0:120 ps

【Unity 3D】学习笔记二十六:unity游戏脚本(六)

在3D游戏世界中,任何一个游戏对象在创建的时候都会附带Transform(变换)组件,并且该组件是无法删除的,也不应该删除.在unity中,Transform面板一共有3个属性: Position  (位置) Rotation(旋转) Scale(缩放) 这三个值都是用来调整游戏对象在游戏界面中的位置,状态等相关参数. Position  (位置) 任何一个游戏对象的三维坐标都保存在Vector3容器中,该容器记录对象在X轴,Y轴,Z轴的坐标.一旦Vector33容器中的坐标发生变化,那么Sce

angular学习笔记(二十六)-$http(4)-设置请求超时

本篇主要讲解$http(config)的config中的timeout项: $http({ timeout: number }) 数值,从发出请求开始计算,等待的毫秒数,超过这个数还没有响应,则返回错误 demo: html: <!DOCTYPE html> <html ng-app = 'HttpGet'> <head> <title>18.4 $http(2)</title> <meta charset="utf-8"

马哥学习笔记二十一——LVS DR模型

kernel parameter: arp_ignore: 定义接收到ARP请求时的响应级别: 0:只要本地配置的有相应地址,就给予响应: 1:仅在请求的目标地址配置请求到达的接口上的时候,才给予响应: arp_announce:定义将自己地址向外通告时的通告级别: 0:将本地任何接口上的任何地址向外通告: 1:试图仅向目标网络通告与其网络匹配的地址: 2:仅向与本地接口上地址匹配的网络进行通告: curl命令选项: --cacert <file> CA证书 (SSL) --capath &l

马哥学习笔记三十——tomcat

Java体系结构包含四个独立却又彼此相关的技术: Java程序设计语言 Java API Java Class文件格式 JVM: Java Virtual Machine JVM的实现方式: 1.一次性解释器,解释字节码并执行: 2.即时编译器(just-in-time complier) 依赖于更多内存缓存解释后的结果 3.自适应编译器 缓存20%左右代码,提高80%左右的速度: 运行时数据区: 线程私有内存区: 程序计数器 java虚拟机栈 线程共享内存区: 方法区 堆:java自动内存回收