zoukankan      html  css  js  c++  java
  • MySQL双机热备

    环境准备

    1. 准备两台分别装有MySQL的服务器要求版本尽量一直
    2. 最好的搭配组合是主(Master)服务器的Mysql版本和从(Slave)服务器版本相同或者更低,主服务器的版本肯定不能高于从服务器版本。

    节点角色分配

    ip地址 主机名 角色
    192.168.23.1 risen02 主备
    192.168.23.3 risen03 主备

    开始配置

    验证MySQL是否可以正常登陆

    节点:192.168.23.1,192.168.23.3

    • 登陆risen02MySQL
      risen02

    • 登陆risen03MySQL
      risen03

    分别创建同步账户并授权

    节点:192.168.23.1,192.168.23.3

    • 在risen02的MySQL执行命令
    grant replication slave on *.* to 'risen'@'192.168.23.3' identified by '123456';
    flush privileges;
    
    • 在risen03的MySQL执行命令
    grant replication slave on *.* to 'risen'@'192.168.23.2' identified by '123456';
    flush privileges;
    

    修改配置文件

    节点:192.168.23.1,192.168.23.3

    • 修改risen02的MySQL配置文件my.cnf,添加以下内容
    [mysqld]
    server-id = 1
    log-bin=mysql-bin
    binlog-do-db = test #重要
    log-slave-updates
    sync_binlog = 1
    auto_increment_offset = 1
    auto_increment_increment = 2
    replicate-do-db = test # 重要
    replicate-ignore-db = mysql,information_schema
    
    • 修改risen03的MySQL配置文件my.cnf,添加以下内容
    [mysqld]
    server-id = 2
    log-bin=mysql-bin
    replicate-do-db = test
    replicate-ignore-db = mysql,information_schema,performance_schema
    binlog-do-db = test
    binlog-ignore-db = mysql
    log-slave-updates
    sync_binlog = 1
    auto_increment_offset = 2
    auto_increment_increment = 2
    
    • 参数说明
      • Server-id

      ID值唯一的标识了复制群集中的主从服务器,因此它们必须各不相同。Master_id必须为1到232-1之间的一个正整数值,slave_id值必须为2到232-1之间的一个正整数值

      • Log-bin

      表示打开binlog,打开该选项才可以通过I/O写到Slave的relay-log,也是可以进行replication的前提。

      • Binlog-do-db

      表示需要记录二进制日志的数据库。如果有多个数据可以用逗号分隔,或者使用多个binlog-do-dg选项。

      • Binglog-ingore-db

      表示不需要记录二进制日志的数据库,如果有多个数据库可用逗号分隔,或者使用多binglog-ignore-db选项。

      • Replicate-do-db

      表示需要同步的数据库,如果有多个数据可用逗号分隔,或者使用多个replicate-do-db选项。

      • Replicate-ignore-db

      表示不需要同步的数据库,如果有多个数据库可用逗号分隔,或者使用多个replicate-ignore-db选项。

      • Master-connect-retry

      master-connect-retry=n表示从服务器与主服务器的连接没有成功,则等待n秒(s)后再进行管理方式(默认设置是60s)。如果从服务器存在mater.info文件,它将忽略些选项。

      • Log-slave-updates

      配置从库上的更新操作是否写入二进制文件,如果这台从库,还要做其他从库的主库,那么就需要打这个参数,以便从库的从库能够进行日志同步

    分别重启MySQL服务

    节点:192.168.23.1,192.168.23.3

    service mysql restart
    

    分别查看节点状态

    节点:192.168.23.1,192.168.23.3

    • risen02的MySQL的主节点
      risen02的MySQL的主节点

    • risen03的MySQL的主节点
      risen03的MySQL的主节点

    !> 分别记下file和position两个选项

    • 分别服务器上用change master to 指定同步位置(注意master_log_file和master_log_pos均是上面查询状态显示出来的,一定要填对)

      • risen02的MySQL执行命令
      change master to master_host='192.168.23.3',master_user='risen',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=120;
      

      • risen03的MySQL执行命令
      change master to master_host='192.168.23.2',master_user='risen',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=120;
      

    • 分别重启从服务线程

    start slave;
    
    • 分别查看从节点状态

      • 查看risen02从节点状态

      • 查看risen03从节点状态

      红色框中两个配置项分别都是YES,则证明搭建成功

    结果验证

    • 操作risen02验证risen03

      • 在risen02的test库中新建表info

      • 查看risen03:

      同样也出现risen03,说明同步成功

    • 操作risen03验证risen02

      • 进入risen03的test库中并插入一条数据到info表

      • 查看risen02中的info表是否存在risen03插入的数据

      存在,证明MySQL的双击热备到此搭建成功

    狭路相逢勇者胜!
  • 相关阅读:
    POJ 2411 Mondriaan's Dream
    POJ 2505 A multiplication game
    HDOJ(HDU) 3949 XOR
    雅礼集训DAY 6 T1 xmasdag
    bzoj 2159: Crash 的文明世界
    如何查看Ubuntu版本
    Ubuntu如何安装谷歌Chrome浏览器
    使用nano编辑器进行查找和替换
    Ubuntu修改用户和root密码
    Anaconda/Conda创建环境时报错的解决方案
  • 原文地址:https://www.cnblogs.com/amcoder/p/13919366.html
Copyright © 2011-2022 走看看