//
mysql8.0新语法之show replicas
//
01
show replicas语法介绍
在MySQL8.0.22版本之前,我们如果想在MySQL主库上查看MySQL从库的信息,可以通过show processlist或者show slave hosts来查看从库信息,关于show slave hosts语法看到的结果,之前还写过一个小的案例,大家可以看下:
show slave hosts的一个问题
现在,MySQL采用show replicas来代替show slave hosts,当在主库上使用该命令后,输出的结果如下:
mysql> SHOW REPLICAS; +------------+-----------+------+-----------+--------------------------------------+ | Server_id | Host | Port | Source_id | Replica_UUID | +------------+-----------+------+-----------+--------------------------------------+ | 10 | iconnect2 | 3306 | 3 | 14cb6624-7f93-11e0-b2c0-c80aa9429562 | | 21 | athena | 3306 | 3 | 07af4990-f41f-11df-a566-7ac56fdaf645 | +------------+-----------+------+-----------+--------------------------------------+
其中:
Server_id不用过多解释,就是各个MySQL从库服务的唯一id值,对应server-id参数的值;
Host:代表--report-host参数报告给主库的;
Port:代表--report-port参数;
Source_id:代表复制源的唯一id,也就是主库的server-id值
Replica_UUID:代表各个从库自身的UUID值。
mysql> show variables like '%report%'; +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | report_host | | | report_password | | | report_port | 3306 | | report_user | | +-----------------+-------+ 4 rows in set (0.04 sec)
02
为什么要改?
有种说法是因为2020年发生的"黑人弗洛伊德之死"事件,导致美国的种族歧视问题爆发,一切跟种族歧视相关的因素都会发酵,例如抗议歧视的大火烧到了美国著名学府「耶鲁大学」,美国很多抗议者网友就在社交平台上要求耶鲁大学改名,因为耶鲁大学以其为名的人物,英国富商E.耶鲁当年就是从事奴隶交易。英国也爆发了大规模游行示威活动,甚至抗议者推倒了17世纪奴隶贩子兼慈善家爱德华·科斯顿的雕像。
"slave"带有明显的种族歧视,MySQL官方考虑下线这个名称,当然,明面上官方是不会说这个问题的。除了这个因素之外,使用replicas也比slave更能反映复制这个含义。
03
其他的影响?
跟slave相关的SQL语法都要进行修改,当然也包含了show slave status这个语法,所以在MySQL8.0.22之后,我们可以使用show replica status来代替show slave status。关于这个SQL语句的输出内容,详见:
https://dev.mysql.com/doc/refman/8.0/en/show-replica-status.html