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

    1、主从复制的前提(基本上就是这些)
    • 1、两台以上的Mysql实例(独立的主机或者多实例),保证server_id(>0)、server_uuid不同

    • 2、主库开启二进制日志(binlog)、(主从服务器同步时间)

    • 3、主库要开启一个专业的复制用户(给replication slave权限)

    • 4、“补课的操作”,如果要新加一个从库,那么要把主库的数据备份,然后恢复到从库。

    • 5、通知从库可以进行自动复制,确认复制的起点(使用命令change master to 主库ip port user password 起点)

    • 6、在从库启动专用的复制线程(start slave)

    2、步骤
    • 1、准备实例,且确保server_id、server_uuid不同(主库)

      命令:mysql -S /data/3306/mysql.sock -e "select @@server_id"

      命令:mysql -S /data/3307/mysql.sock -e "select @@server_uuid"

    • 2、主库开启binlog日志(主库)

      命令mysql -S 3306/mysql.sock -e "select @@ log_bin"; #1代表开启

      要改的配置文件是my.cnf---->{server_id=7 log_bin=/data/3306/mysql-bin}

    • 3、开启一个专用的复制用户(主库)

      创建且授权命令:mysql -S 3306/mysql.sock -e ""grant replication slave on . to tzh@'%' identified by 'root'";

      确认用户是否存在:mysql -S 3306/mysql.sock -e "select user,host from mysql.user";

    • 4、备份主库,恢复到从库(补课)

      全备份(主库):mysqldump -S /data/3306/mysql.sock -A --master-data=2 --single-transaction -R -E --triggers --max-allowed-packet=64M>/tem/full.sql

      -----master-data=2 记录备份时的二进制日志

      vim full.sql(查看同步到那个日志文件了)

      全备份1:mysqldump -S /data/3306/mysql.sock -A --master-data=2 --single-transaction -R --triggers >/backup/full.sql

      恢复(从库):登录到从库(1、mysql -S /data/3307/mysql.sock

      临时关闭二进制的记录(2、set sql_log_bin=0)

      恢复数据(3、source /tmp/full.sql

      恢复二进制的记录(4、set_sql_log_bin=1

    • 5、通知从库可以进行自动复制(从库)

      查看主库MySQL服务器二进制文件名与位置(mysql>SHOW MASTER STATUS;

      查看复制命令(help change master to

      复制的命令:CHANGE MASTER TO MASTER_HOST='192.168.1.30', MASTER_USER='repl', MASTER_PASSWORD='root', MASTER_PORT=3307, MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=4724323, MASTER_CONNECT_RETRY=10;(更改对应的参数即可)

    • 6、启动复制线程(从库)IO线程,SQL线程

      start slave

      查看这两个线程是否启动成功(mysql -S /mysql/3308/mysql.sock -e "show slave statusG"| grep Running

       

      原理图

     

     

  • 相关阅读:
    nmcli命令使用以及网卡绑定bond
    nginx的proxy_redirect
    Centos7双网卡绑定配置 bonding
    XenServer多网卡绑定
    centos7 openfiles问题
    centos7 部署vnc
    python ssh之paramiko模块使用
    redis问题与解决思路
    搭建Harbor企业级docker仓库
    KVM虚拟化相关
  • 原文地址:https://www.cnblogs.com/hsyw/p/13097153.html
Copyright © 2011-2022 走看看