• RESET MASTER和RESET SLAVE使用场景和说明【转】


    【前言】在配置主从的时候经常会用到这两个语句,刚开始的时候还不清楚这两个语句的使用特性和使用场景。

    经过测试整理了以下文档,希望能对大家有所帮助;

    【一】RESET MASTER参数

    功能说明:删除所有的binglog日志文件,并将日志索引文件清空,重新开始所有新的日志文件。用于第一次进行搭建主从库时,进行主库binlog初始化工作;

    测试如下:

    未删除前

    [root@mysql01 mysql]# pwd
    /data/mysql


    [root@mysql01 mysql]# ls
    image


    mysql> show master statusG;
    *************************** 1. row ***************************
                File: mysql-bin.000025
            Position: 107
        Binlog_Do_DB:
    Binlog_Ignore_DB:
    1 row in set (0.01 sec)


    当前有25个binlong日志,且Position的位置为107

    运行RESET MASTER

    mysql> reset master;
    Query OK, 0 rows affected (0.03 sec)


    mysql> show master statusG;
    *************************** 1. row ***************************
                File: mysql-bin.000001
            Position: 107
        Binlog_Do_DB:
    Binlog_Ignore_DB:
    1 row in set (0.00 sec)

     

    image

    显示所有的binlog已经被删除掉,且binlog从000001 开始记录

    注:当数据库要清理binlog文件的时候,可以通过操作系统进行删除,也可以运行reset master进行删除。但是如果当前是主数据库,且主从数据库正常的时候,千万不能用这种方式删除。

    【使用场景】第一次搭建主从数据库时,用于主库的初始化binglog操作;


    【二】RESET SLAVE

    功能说明:用于删除SLAVE数据库的relaylog日志文件,并重新启用新的relaylog文件;

    登录从数据库,未删除前

    mysql> show slave statusG;
    *************************** 1. row ***************************
                   Slave_IO_State: Connecting to master
                      Master_Host: 192.168.47.167
                      Master_User: server
                      Master_Port: 3306
                    Connect_Retry: 60
                  Master_Log_File: mysql-bin.000019
              Read_Master_Log_Pos: 12992
                  Relay_Log_File: mysql02-relay-bin.000004
                    Relay_Log_Pos: 4
            Relay_Master_Log_File: mysql-bin.000019
     

    image

    当前relaylog为0004;

    删除后

    mysql> stop slave;                先停止slave
    Query OK, 0 rows affected (0.01 sec)

    mysql> reset slave;               
    Query OK, 0 rows affected (0.04 sec)

     

    mysql> show slave statusG;
    *************************** 1. row ***************************
                   Slave_IO_State:
                      Master_Host: 192.168.47.167
                      Master_User: server
                      Master_Port: 3306
                    Connect_Retry: 60
                  Master_Log_File:
              Read_Master_Log_Pos: 4
                   Relay_Log_File: mysql02-relay-bin.000001
                    Relay_Log_Pos: 4

    image

    RESET SLAVE将使SLAVE忘记主从复制关系的位置信息。该语句将被用于干净的启动, 它删除master.info文件和relay-log.info 文件以及所有的relay log 文件并重新启用一个新的relaylog文件。

    使用场景:当原来的主从关系被破坏之后,从库经过重新初始化后直接连接会报 ERROR 1201的错误,运行reset slave后,重新配置主从连接就可以了;

    mysql> CHANGE MASTER TO MASTER_HOST='192.168.0.167',MASTER_USER='test',MASTER_PASSWORD='test', MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=176658;

    ERROR 1201 (HY000): Could not initialize master info structure; more error messages can be found in the MySQL error log

    总结:如果是需要删除mysql binlog和relaylog文件的时候,那么通过操作系统的删除或者PURGE命令都可以,但是涉及到mysql主从配置的时候便需要使用RESET MASTER和RESET SLAVE解决问题;

    转自

    RESET MASTER和RESET SLAVE使用场景和说明-wzq609-ITPUB博客

    http://blog.itpub.net/12679300/viewspace-1701285/

    MySQL主从配置中RESET SLAVE和RESET MASTER的区别详解 http://www.jquerycn.cn/a_23929

  • 相关阅读:
    单张图片转PDF(基于Go语言实现)
    Django在前后端分离项目中,如何针对GET接口请求加入缓存机制
    Python3解决Nginx日志的中文乱码问题
    Python3通过Redis实现学生分数排行榜
    Jmeter之Json提取器用法收藏(非常给力的一篇!)
    H5和安卓的转义字符问题

    数组
    链表
    替换空格 JS算法题
  • 原文地址:https://www.cnblogs.com/paul8339/p/8434902.html
Copyright © 2020-2023  润新知