惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Hackread – Cybersecurity News, Data Breaches, AI and More
C
Check Point Blog
Hacker News: Ask HN
Hacker News: Ask HN
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
WordPress大学
WordPress大学
P
Proofpoint News Feed
V
Visual Studio Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
N
Netflix TechBlog - Medium
C
CXSECURITY Database RSS Feed - CXSecurity.com
博客园 - 聂微东
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
博客园 - 叶小钗
Cisco Talos Blog
Cisco Talos Blog
S
Schneier on Security
T
Threat Research - Cisco Blogs
腾讯CDC
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
The Hacker News
The Hacker News
Google DeepMind News
Google DeepMind News
Microsoft Security Blog
Microsoft Security Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
GbyAI
GbyAI
N
News | PayPal Newsroom
L
LINUX DO - 最新话题
酷 壳 – CoolShell
酷 壳 – CoolShell
P
Palo Alto Networks Blog
T
Tenable Blog
S
Secure Thoughts
T
Threatpost
V2EX - 技术
V2EX - 技术
大猫的无限游戏
大猫的无限游戏
Martin Fowler
Martin Fowler
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Vercel News
Vercel News
罗磊的独立博客
P
Privacy & Cybersecurity Law Blog
Engineering at Meta
Engineering at Meta
小众软件
小众软件
Google DeepMind News
Google DeepMind News
N
News and Events Feed by Topic
Y
Y Combinator Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
C
Cybersecurity and Infrastructure Security Agency CISA
P
Proofpoint News Feed
L
Lohrmann on Cybersecurity
P
Privacy International News Feed
H
Heimdal Security Blog
量子位
B
Blog

博客园 - 皮皮虾的blog

visual studio 2022 安装net旧版本(net framework4.0和4.5) RxJS中高阶映射操作符的全面讲解:switchMap, mergeMap, concatMap (and exhaustMap) 从0到1: Angular + .NET Core 前后端分离项目Compass的开发过程 rxjs学习 - 2 rxjs学习 Asynchronous programming with async and await Angular 表单介绍 TypeScript null undefine判断 TypeScript 常见方法 VMware虚拟机如何设置CentOS 7 磁盘扩容? MySQL 5.7 配置 Mysql 常用命令 MySQL 5.7 Sleep 连接太多的处理方式 MySQL 5.7 CPU高的定位方法 VS2019 设置tab插入空格不好使的解决方法 CentOS 7 MySQL 5.7 主从设置 VMware安装CentOS7后配置静态IP MySQL explain,type分析(转) - 2 MySQL explain,Extra分析(转) - 1
MySQL 主从复制相关
皮皮虾的blog · 2021-12-02 · via 博客园 - 皮皮虾的blog

:查看BinLog文件,在哪端都可以。show binlog events in 'mysql-bin.000900' , in 后面跟的是log文件名称

:查看主库,从库同步状态。show master status;  SHOW SLAVE STATUS

:从库操作 STOP SLAVE;:

set global sql_slave_skip_counter=100000;

-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000900',MASTER_LOG_POS=236255749;

START SLAVE;

show variables like 'slave_skip%'; 

https://dba.stackexchange.com/questions/18433/trying-to-understand-show-slave-status-in-mysql

                  

                       

https://dba.stackexchange.com/questions/36909/slave-sql-thread-got-hanged

             

https://blog.csdn.net/weixin_34290631/article/details/91733499

  1. CHANGE MASTER TO的语法如下:

    1. CHANGE MASTER TO option [, option] ...  

    2.     MASTER_BIND 'interface_name'  

    3.    MASTER_HOST 'host_name'  

    4.    MASTER_USER 'user_name'  

    5.    MASTER_PASSWORD 'password'  

    6.    MASTER_CONNECT_RETRY interval  

    7.    MASTER_RETRY_COUNT = count  

    8.    MASTER_HEARTBEAT_PERIOD interval  

    9.    MASTER_LOG_FILE 'master_log_name'  

    10.    MASTER_LOG_POS = master_log_pos  

    11.    MASTER_AUTO_POSITION = {01}  

    12.    RELAY_LOG_FILE 'relay_log_name'  

    13.    RELAY_LOG_POS = relay_log_pos  

    14.    MASTER_SSL_CA 'ca_file_name'  

    15.    MASTER_SSL_CAPATH 'ca_directory_name'  

    16.    MASTER_SSL_CERT 'cert_file_name'  

    17.    MASTER_SSL_CRL 'crl_file_name'  

    18.    MASTER_SSL_CRLPATH 'crl_directory_name'  

    19.    MASTER_SSL_KEY 'key_file_name'  

    20.    MASTER_SSL_CIPHER 'cipher_list'  

    21.    MASTER_SSL_VERIFY_SERVER_CERT = {01}  

    22.    IGNORE_SERVER_IDS = (server_id_list)  

    23.     [server_id [, server_id] ... ]

      change master to配置和改变slave服务器用于连接master服务器的参数,以便slave服务器读取master服务器的binlog及slave服务器的relay log。同时也更新master info及relay log info信息库。执行该语句前如果从机上slave io及sql线程已经启动,需要先停止(执行stop slave)。
       change master to后面不指定某个参数的话,该参数保留原值或默认值。所以后续如果某些参数没有更改的话,change master to后无需带该参数,例如我们只改变了用于复制的用户密码,那么change master to只需针对MASTER_PASSWORD选项作出修改即可,例如:

    1. mysql> change master to master_password='new_password';  

    mysql> CHANGE MASTER TO MASTER_HOST '10.*.*.36', MASTER_USER 'repl', MASTER_PASSWORD 'replpassword', MASTER_PORT 3306, MASTER_AUTO_POSITION 1, MASTER_RETRY_COUNT 0, MASTER_HEARTBEAT_PERIOD 10000;

    3 参数解释
        MASTER_HOST, MASTER_USER, MASTER_PASSWORD,MASTER_PORT四个选项提供了slave从机连接到master主机的信息。
        MASTER_HOST 与 MASTER_PORT:
        分别代表master主机名(或IP地址)及mysql实例端口号。
        注意: 复制不能使用unix socet文件,必须使用tcp/ip 连接到master。
        如果我们指定MASTER_HOST 与 MASTER_PORT参数,slave会认为master与之前的不是同一个(即便MASTER_HOST 与 MASTER_PORT所带的参数与之前相同),之前指定的master的binlog文件名及位置将不再适用。所以如果我们在后面不明确指定MASTER_LOG_FILE 和 MASTER_LOG_POS 的参数值,那么MASTER_LOG_FILE='' 以及 MASTER_LOG_POS=4 将会默认的追加到后面。
        设置MASTER_HOST为空(MASTER_HOST=' ')与不设置该参数是不同的,mysql5.5开始,将MASTER_HOST设为空将会失败并报错【验证】
        MASTER_USER 与 MASTER_PASSWORD:
        连接到master主机复制账户所对应的用户名及密码。
        mysql5.6.4及其后续版本,MASTER_USER不能设置为空;当明确设置MASTER_PASSWORD参数时,MASTER_USER 不能设置为空或不进行设置【验证2.1实例】。
        MASTER_PASSWORD参数对应的密码长度最大为32位字符【验证】,如果字符超长(超过32位),语句会执行成功,但超出的长度会被截取掉,mysql复制的这个问题在mysql5.7版本中得到了修复。
        MASTER_LOG_FILE 与 MASTER_LOG_POS:
        这两项确定slave的io线程下次开始执行时从master开始读取的位置坐标,RELAY_LOG_FILE 与 RELAY_LOG_POS这两项确定slave的sql线程下次开始执行时从relay log开始读取的位置坐标。如果我们指定了MASTER_LOG_FILE 或 MASTER_LOG_POS中的任意一项,就不能再指定RELAY_LOG_FILE 或 RELAY_LOG_POS,也不能指定MASTER_AUTO_POSITION = 1 (mysql5.6.5及其后续版本)。如果二者都没有指定,slave使用上次slave sql线程保存的位置。
        RELAY_LOG_FILE 与 RELAY_LOG_POS:
        change master to操作删除所有relay log文件并创建一个新的,除非我们指定RELAY_LOG_FILE 或 RELAY_LOG_POS。如果全局变量relay_log_purge设置为0(默认为ON),relay log也将会保持。
        mysql5.6.2之前,RELAY_LOG_FILE需要配置绝对路径,mysql5.6.2及其后续版本,可以配置相对路径(相对mysql的data目录)。
        MASTER_AUTO_POSITION:
        该参数在mysql5.6.5版本引入,如果进行change master to时使用MASTER_AUTO_POSITION = 1,slave连接master将使用基于GTID的复制协议。
        使用基于GTID协议的复制,slave会告诉master它已经接收到或执行了哪些事务。计算这个集,slave需要读取全局参数gtid_executed以及通过show slave status获取的参数Retrieved_gtid_set。
        结果集作为初次握手的一部分,发送到master,master发回它已经执行的且不在结果集这部分的所有事务。如果这些事务在master的binlog文件中已经被清除,master将会发送一个ER_MASTER_HAS_PURGED_REQUIRED_GTIDS错误信息到slave,复制将不会开启。
        使用基于GTID的复制时(MASTER_AUTO_POSITION = 1),首先要开启gtid_mode(在my.cnf中设置gtid-mode = ON),MASTER_LOG_FILE 与 MASTER_LOG_POS也不能使用,否则会报错。
        使用GTID后想要恢复到老的基于文件的复制协议,在change master to时需要指定MASTER_AUTO_POSITION = 0以及MASTER_LOG_FILE 或 MASTER_LOG_POSITION中至少一项。
        MASTER_CONNECT_RETRY:
        重连到master时的超时等待时间,默认为60秒。
        MASTER_RETRY_COUNT:
        mysql5.6.1引入该参数,限制重连次数以及更新show slave status输出的Master_Retry_Count列。默认值是24 * 3600 = 86400。MASTER_RETRY_COUNT主要用于替代mysqld服务器参数 --master-retry-count(该参数在mysql5.6.1及其后续版本废除)。MASTER_RETRY_COUNT = 0表示重连次数无限制。
        MASTER_HEARTBEAT_PERIOD:
        设置复制心跳的周期,取值范围为0 到 4294967秒。精确度可以达到毫秒,最小的非0值是0.001秒。心跳信息由master在主机binlog日志文件在设定的间隔时间内没有收到新的事件时发出,以便slave知道master是否正常。
        slave连接到master后,该参数可通过mysql.slave_master_info表查看。