zoukankan      html  css  js  c++  java
  • 【Mysql】主从复制

    主节点配置

    主机配置文件

    主要配置有以下

    server-id=1 #服务器id (主从必须不一样)
    log-bin=mysql-bin # 打开日志(主机需要打开),这个mysql-bin 可自定义,也可加上路径
    binlog-do-db=dblog #要给从机同步的库
    binlog-ignore-db=mysql #不给从机同步的库(多个写多行)
    binlog-ignore-db=information_schema
    binlog-ignore-db=performance_schema
    binlog-ignore-db=sys
    expire_logs_days=3 # 自动清理 3 天前的log文件 可根据需要修改
    

    下面是我用的配置

    ## 检测 binLog开启情况
    show variables like "%log_bin%"; 
    

    从节点配置

    server-id=2 #服务器id (主从必须不一样)
    

    从节点配置 只要保证和主节点的ID不一致即可。如果从节点还是需要被复制到二级从节点。则需要打开从节点的

    log-bin=mysql-bin 
    ``
    
    ## 同步账户权限配置
    
    因为从复制主,需要登录主节点的Mysql服务器上。故需要在主节点中,添加一个从节点的只读账号。这里面有很多坑。
    
    
    ```shell
    # 主配置:增加从机复制账户并授权,以便从机远程登录过来复制 binlog
    create user 'replicationUsername'@'%' identified by 'Passwd';
    GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO 'replicationUsername'@'%'  WITH GRANT OPTION;
    

    在主配置完账号之后,查看一下主节点日志写的状态

    show master status;
    


    可以看到主节点写到了 mysql-bin.000002 的第156个节点, 正在记录Binlog_Do_DB的数据库是dblog
    所以我们此刻要做的是,让从节点此时对齐主节点的这个位置 此时不要主节点进行进任何操作
    进入到slave从节点
    将刚才记录的主节点的binlog位置信息记录进行一个对齐

     CHANGE MASTER TO  
        MASTER_HOST='121.10.10.1',
        MASTER_PORT=33068,我修改了默认端口
        MASTER_USER='dev',
        MASTER_PASSWORD='dev', 
        MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=156;
    

    从节点的启动

    #启动从节点
    start slave;
    #关闭从节点
    stop slave;
    # 查看从节点的状态
    show slave status G;
    

    注意:在CHANGE MASTER 的时候 必须要先stop slave

    这个图片有延迟 , master_log_pos 又有写入 所以不是156了。

    主要遇到问题:

    1. 用户权限问题,配置好之后,需要用show slave status G; 命令 多观察几次装填
      查看

      上面IO双OK ,下面IO 容易出现用户权限不足的问题。 用户权限不足就用上面方法重新创建一个新权限。
    2. 用户密码设置强度的问题。 默认密码强度高,自己用上面设置用户密码,肯定会告诉你强度不够,这时候需要
     show variables like "%password%";
     set global validate_password_policy='LOW';(需要注意mysql5.7以前还是以后这个参数是有变化的validate_password.policy)
     FLUSH privileges
    

  • 相关阅读:
    .htaccess中的apache rewrite规则写法详解(未完)
    Linux LVM逻辑卷配置过程详解(创建、扩展、缩减、删除、卸载、快照创建)(未完)
    Linux的单用户模式
    linux proc目录和常用操作
    struts2 中的 addActionError 、addFieldError、addActionMessage的方法
    OGNL和类型转换
    ognl概念和原理详解
    java垃圾回收器
    java堆和栈的区别
    js的call()通俗解释
  • 原文地址:https://www.cnblogs.com/anycc/p/14642455.html
Copyright © 2011-2022 走看看