zoukankan      html  css  js  c++  java
  • mysql的主从复制

    主从复制,读写分类,写找主库,读找从库,
    主库
    io的线程将用户写的日志记录在二进制的日志里。io线程是为了binlog日志活的。
    在主库里创建主从复制账号。
    从库
    io线程发现主的io线程有更新就会发起信息复制,会有验证,验证通过以后,主的就会把二进制日志,复制给从的,从的就会把主的二进制日志让到中继日志
    语句relay-log=relay-bin
    然后从库的sql线程开始启动,将中继的二进制日志翻译成一条一条的sql命令执行。
    从库要干的
    1开启中继日志
    relay-log=relay-bin
    2主从复制验证信息录入
    3server id =5(不是1就可以)
    4激活主从复制
    主库要干的
    1打开binlog日志
    2创建主从复制账号
    3server id =1
    具体干什么
    从库找主库验证信息都会干什么
    1,主库的ip,和主库的secoket进程
    2主库的复制账号
    3复制那个二进制文件
    4二进制文件的具体位置position
    从库记录复制到哪里是记录在在master.info的文件里
    然后把读取过来的信息记录到中继日志
    sql读中继日志的时候,会有一个记录上次读到哪里的日志叫relay-log.info文件
    主从账号必须是replication slave的授权,all都不可以。
    show master status; 看位置,和二进制的文件类型。
    在主从复制开始之前我们要先个主库做一个全备,给从库复制过去,这样两个库的内容就一样了,然后我们在开始主从复制
    在倒库之前要给主库手动锁表
    flush table with read lock;
    手动解锁的命令,unlock tables;
    在主库创建账号 :grant replication slave on *.* 'su'@'' identified by '12323'
    告诉从库主库的6条信息CHANGE MASTER TO MASTER_HOST='',MASTER_POET=3306,MASTER_USER=‘账号’,MASTER_PASSWORD=''.MASTER_LOG_FILE='',MASTER_LOG_POS=位置
    start slave;开启从库
    看从库的的命令:show slave statusG;
    reset slave all;重置
    stop slave;关闭
    从库要告诉主库的6条信息
    1主库的地址
    2主库的端口
    3主库的Z账号名
    4主库账号的密码,
    5主库的binlog日志到哪个了
    6主库的位置。
    主从复制,不能忘从库写数据,会造成sql线程宕机,想要恢复,必须先进行回滚机制。
    主从复制的账号具有超级权限,
    解决零时跳过宕机的命令set global sql_slave_skip_counter=1 零时跳过一次sql命令
    second_behind——master=0 是主从复制的延迟。一旦大于3秒人工必须介入。
    mysql 5.6版本以后哦都变成了一个小库一个线程。
    5.7开始变成了一组一组的解析。

    从同步出现一下错误:
     
    Slave_IO_Running: Connecting
    Slave_SQL_Running: Yes
     
    解决方法:
     
    导致lave_IO_Running 为connecting 的原因主要有以下 34个方面:
     
    1、网络不通
    2、密码不对
    3、pos不对
    4、端口不对
    如果是sqlno最大的可能是从库的语句没有被执行吗,基本就是开发在里边执行写入或者删除了。
    1. 从同步出现一下错误:
    2.  
       
    3.  
      Slave_IO_Running: Connecting
    4.  
      Slave_SQL_Running: Yes
    5.  
       
    6.  
      解决方法:
    7.  
       
    8.  
      导致lave_IO_Running 为connecting 的原因主要有以下 3 个方面:
    9.  
       
    10.  
      1、网络不通
    11.  
      2、密码不对
    12.  
      3、pos不对
    13.  
  • 相关阅读:
    取消GridView/ListView item被点击时的效果 记录学习
    EditText 几种显示方式,固定行数,自适应行数
    Android 判断当前屏幕是横屏还是竖屏
    Android 用代码设置Shape,corners,Gradient
    Android 横屏不让输入法全屏显示
    js-JavaScript高级程序设计学习笔记7
    js-FCC算法-Pairwise
    js-JavaScript高级程序设计学习笔记6
    js-JavaScript高级程序设计学习笔记5
    js-自制轮播插件!
  • 原文地址:https://www.cnblogs.com/cash-su/p/9877289.html
Copyright © 2011-2022 走看看