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

    配置梳理

    1. 主数据库
      开启二进制日志
      设置唯一id
      获取二进制文件名和位置
      创建用于通信的账号
    2. 从数据库
      设置唯一id
      使用分配的账号读取主数据库的二进制日志

    准备工作

    主数据库:192.168.0.201
    从数据库:192.168.0.202

    主数据库配置

    1. 进入配置文件
      vim /etc/my.cnf
    2. 添加两行
      log-bin=mysql-bin #开启二进制日志
      server-id=201 #设置server-id,唯一值,标识主机
    3. 重启服务
      service mysql restart
    4. 创建账号密码
      进入mysql
      mysql -u root -p
      创建用户(IP为可访问该master的IP,任意IP就写'%')
      CREATE USER 'slave_userid'@'%' IDENTIFIED BY 'slave_pwd';
      查看用户是否创建成功
      select user,host from mysql.user;
      分配权限(IP为可访问该 master的IP,任意IP就写'%')
      GRANT REPLICATION SLAVE ON . TO 'slave_userid'@'%';
    5. 刷新权限
      flush privileges;
    6. 查看master状态,记录二进制文件名File和位置Position,后面配从库要用
      show master status;

    从数据库配置

    1. 进入配置文件
      vim /etc/my.cnf
    2. 添加一行
      server-id=202 #设置server-id,唯一值,标识主机
    3. 重启服务
      service mysql restart
    4. 登录进入mysql,执行同步sql语句(主服务器名,用于主从的用户名,密码,二进制文件名,位置)
      mysql -u root -p
    CHANGE MASTER TO
    MASTER_HOST='192.168.0.201',
    MASTER_USER='slave_userid',
    MASTER_PASSWORD='slave_pwd',
    MASTER_LOG_FILE='mysql-bin.000001',
    MASTER_LOG_POS=755;
    
    1. 启动slave同步进程
      start slave;
    2. 查看slave状态,当Slave_IO_Running和Slave_SQL_Running都为YES的时候就表示主从同步设置成功了
      show slave statusG
    3. 可以改数据验证同步,可以stop slave;执行看看效果
    4. 其他
      不同步哪些数据库
      binlog-ignore-db = mysql
      binlog-ignore-db = test
      binlog-ignore-db = information_schema
      只同步哪些数据库,除此之外,其他不同步
      binlog-do-db = game
  • 相关阅读:
    我的canvasnode v0.1完成了
    我们的scrum实践
    好文转贴(6)——代码永远是罪魁祸首吗?
    关于“产品驱动”和“技术驱动”
    居然获“最受读者喜爱的IT图书作译者奖”了
    重写代码 多重登录
    图片验证码接口
    syl/settings.py中配置注册 权限认证
    码云 上传与克隆
    短信验证接口
  • 原文地址:https://www.cnblogs.com/yinchh/p/12405541.html
Copyright © 2011-2022 走看看