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

           

    简介:本次搭建实在多实例环境下搭建,mysql是5.7版本

    架构图:

    准备环境:

    主机名 ip地址 MySQL数据库
    db01 10.0.0.51 mysqld3307 、mysqld3308、mysqld3309

    搭建

    实例准备

    systemctl start mysqld3307
    systemctl start mysqld3308
    systemctl start mysqld3309
    netstat -tulnp

    检查server_id

    #数据库7
    mysql -S /tmp/mysql3307.sock -e "select @@server_id";
    +-------------+
    | @@server_id |
    +-------------+
    |           7 |
    +-------------+
    #数据库8
    mysql -S /tmp/mysql3308.sock -e "select @@server_id";
    +-------------+
    | @@server_id |
    +-------------+
    |           8 |
    +-------------+
    #数据库9
    mysql -S /tmp/mysql3309.sock -e "select @@server_id";
    +-------------+
    | @@server_id |
    +-------------+
    |           9 |
    +-------------+

    主库binlog

    mysql -S /tmp/mysql3307.sock -e "select @@log_bin";
    +-----------+
    | @@log_bin |
    +-----------+
    |         1 |
    +-----------+

    主库建立复制用户

    mysql -S /tmp/mysql3307.sock -e "grant replication slave on *.* to repl@'10.0.0.%' identified by '123'";
    mysql -S /tmp/mysql3307.sock -e "select user,host from mysql.user"

    主库备份恢复到从库

    mysqldump -S /tmp/mysql3307.sock -A --master-data=2 --single-transaction >/tmp/all.sql
    mysql -S /tmp/mysql3308.sock </tmp/all.sql
    mysql -S /tmp/mysql3309.sock </tmp/all.sql

    告知从库复制信息

    help change master to 
    
    CHANGE MASTER TO
      MASTER_HOST='10.0.0.51',
      MASTER_USER='repl',
      MASTER_PASSWORD='123',
      MASTER_PORT=3307,
      MASTER_LOG_FILE='mysql-bin.000002',
      MASTER_LOG_POS=444,
      MASTER_CONNECT_RETRY=10;
    [root@db01 ~]# grep "-- CHANGE MASTER TO" /tmp/all.sql 
    -- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=444;
    
    [root@db01 ~]# mysql -S /tmp/mysql3308.sock
    CHANGE MASTER TO
      MASTER_HOST='10.0.0.51',
      MASTER_USER='repl',
      MASTER_PASSWORD='123',
      MASTER_PORT=3307,
      MASTER_LOG_FILE='mysql-bin.000002',
      MASTER_LOG_POS=444,
      MASTER_CONNECT_RETRY=10;
    
    
    [root@db01 ~]# mysql -S /tmp/mysql3309.sock
    CHANGE MASTER TO
     MASTER_HOST='10.0.0.51',
     MASTER_USER='repl',
     MASTER_PASSWORD='123',
     MASTER_PORT=3307,
     MASTER_LOG_FILE='mysql-bin.000002',
     MASTER_LOG_POS=444,
     MASTER_CONNECT_RETRY=10;

    在从库中开启专用复制线程

    [root@db01 ~]# mysql -S /tmp/mysql3308.sock
    start slave;
    
    [root@db01 ~]# mysql -S /tmp/mysql3309.sock
    start slave;

    验证主从状态

    [root@db01 ~]# mysql -S /tmp/mysql3308.sock -e "show slave statusG"|grep Running: 
                 Slave_IO_Running: Yes
                Slave_SQL_Running: Yes
    [root@db01 ~]# mysql -S /tmp/mysql3309.sock -e "show slave statusG"|grep Running: 
                 Slave_IO_Running: Yes
                Slave_SQL_Running: Yes
    [root@db01 ~]# 

    注:如果搭建不成,可以执行以下命令,从3.1-3.8步骤重新来过。(没问题别整!!!!!)

    [root@db01 ~]# mysql -S /tmp/mysql3308.sock -e "stop slave;reset slave all;"
    [root@db01 ~]# mysql -S /tmp/mysql3309.sock -e "stop slave;reset slave all;"
    #关闭在重启M.info里面的主库信息就没有了
  • 相关阅读:
    Python笔记_第四篇_高阶编程_再议装饰器和再议内置函数
    Python笔记_第四篇_高阶编程_实例化方法、静态方法、类方法和属性方法概念的解析。
    Python笔记_第四篇_高阶编程_二次封装
    Python笔记_第四篇_高阶编程_反射_(getattr,setattr,deattr,hasattr)
    Python笔记_第四篇_高阶编程_正则表达式_3.正则表达式深入
    Python笔记_第四篇_高阶编程_正则表达式_2.正则表达式入门
    Python笔记_第四篇_高阶编程_正则表达式_1.正则表达式简介(re模块)
    Python笔记_第四篇_高阶编程_检测_2.文档检测
    愿你的眼中总有光芒,活成你想要的模样!
    ruby-rails 环境搭建
  • 原文地址:https://www.cnblogs.com/Mercury-linux/p/12398200.html
Copyright © 2011-2022 走看看