由于种种原因,你可能不知道这台主服务器有多少台从服务器,同时,也不那么容易记住每个主连接有哪些从服务器的。这种情况下,使用 mysqlrplshow 工具可以很清晰的显示复制的拓扑,并且显示复制线程状态(IO 和 SQL)。
实例
shell> mysqlrplshow --master=root:root@localhost:13001 \ --disco=root:root --verbosity # master on localhost: ... connected. # Finding slaves for master: localhost:13001 # Replication Topology Graph localhost:13001 (MASTER) | +--- localhost:13002 [IO: Yes, SQL: Yes] - (SLAVE) | +--- localhost:13003 [IO: Yes, SQL: Yes] - (SLAVE) | +--- localhost:13004 [IO: Yes, SQL: Yes] - (SLAVE) | +--- localhost:13005 [IO: Yes, SQL: Yes] - (SLAVE)
使用 --discover-slaves-login选项用来连接每个从,如果没有该选项,将没法确定复制线程状态的。该选项适用于所有的从服务器,如果所有的从服务器没有定义相同的用户名和密码,可以使用--prompt选项来提示输入每个从的用户名和密码。文章源自运维生存时间-https://www.ttlsa.com/mysql/find-all-slaves-attached-to-master/
权限
连接到主需要有REPLICATION SLAVE 权限。文章源自运维生存时间-https://www.ttlsa.com/mysql/find-all-slaves-attached-to-master/
--discover-slaves-login 选项指定的用户,需要有每个从的REPLICATION CLIENT 权限。文章源自运维生存时间-https://www.ttlsa.com/mysql/find-all-slaves-attached-to-master/
小技巧
如果是多层次的复制结构,可以指定--recurse 选项。文章源自运维生存时间-https://www.ttlsa.com/mysql/find-all-slaves-attached-to-master/
每个工具都支持快捷短截的选项,如上面的--disco。只要是能唯一标识选项,皆可接受。文章源自运维生存时间-https://www.ttlsa.com/mysql/find-all-slaves-attached-to-master/ 文章源自运维生存时间-https://www.ttlsa.com/mysql/find-all-slaves-attached-to-master/
评论