zoukankan      html  css  js  c++  java
  • mysql主从配置

    1、从《高性能mysql》书中讲解主从原理大致有三个步骤:

      在主库上把数据更改记录到二进制日志中(Binary Log)中,这些记录称为二进制日志事件。
      从库通过IO线程将主库上的日志复制到自己的中继日志(Relay Log)中。
      从库通过SQL线程读取中继日志中的事件,将其重放到自己数据上。
      原理图为:

      

     我的机器:

      主:192.168.0.191

      从:192.168.0.192

    2、主库配置:

      修改my.conf:vi /etc/my.cnf  添加配置

    # 服务的唯一编号
    server-id = 1
    
    # 开启mysql binlog功能
    log-bin = mysql-bin
    
    # binlog记录内容的方式,记录被操作的每一行
    binlog_format = ROW
    
    # 减少记录日志的内容,只记录受影响的列
    binlog_row_image = minimal
    
    # 指定需要复制的数据库名为my_db
    binlog-do-db = my_db

      

      重启mysql服务

      service mysqld restart

      创建从库同步数据的账号,进入mysql终端

      grant replication slave on *.* to 'my_user'@'192.168.0.192' identified by 'Ly.123456';

      flush privileges;

       查看主库状态:

      show master statusG;

      

       主库配置完成。

    3、从库配置

      修改my.conf:vi /etc/my.cnf  添加配置

    # 服务的唯一编号
    server-id = 2
    
    # 开启mysql binlog功能
    log-bin = mysql-bin
    
    # binlog记录内容的方式,记录被操作的每一行
    binlog_format = ROW
    
    # 减少记录日志的内容,只记录受影响的列
    binlog_row_image = minimal
    
    # 指定需要复制的数据库名为my_db
    replicate-do-db = my_db

      

      重启mysql服务

      service mysqld restart

      进入mysql终端  

      执行命令:change master to master_host='192.168.0.191',master_user='my_user',master_password='Ly.123456',master_log_file='mysql-bin.000003',master_log_pos=154;

      

       start slave;

      查看状态:show slave status G

      

       如果两个都是yes就是ok。刚开始的时候,我的第一个显示是NO,如下:

       因为是,我是在虚拟机上先在主库所在机器装了mysql,然后克隆一台机器出来,做从节点,就导致了UUID是一样的。

      停掉两台mysql服务,删除auto.cnf

      

       启动mysql服务,再看看是不是两个都是yes,一定要仔细看master和slave的状态里的文件是否一致。

      这样就能进行数据同步了。

     来源:https://www.cnblogs.com/atcloud/p/10773855.html

  • 相关阅读:
    浅谈jsp、freemarker、velocity区别
    python获取通道状态
    Uncaught TypeError: $(...).customFileInput is not a function
    CentOS环境下tomcat启动超级慢的解决方案
    错误处理
    Caused by: java.lang.ClassNotFoundException: com.alibaba.druid.support.http.StatViewServlet
    Uncaught TypeError: Cannot read property 'msie' of undefined
    使用__slots__:
    Oracle 分区索引
    获取对象信息
  • 原文地址:https://www.cnblogs.com/longyao/p/12795127.html
Copyright © 2011-2022 走看看