如何获取 MySQL 中所有表的行数

如何获取 MySQL 中所有表的行数

如何获取 MySQL 中所有表的行数。如果这样更简单,我可以逐个数据库进行此操作。

目的是对刚刚设置的数据库复制进行粗略检查。

答案1

尝试mk-表校验和相反。文档可能很吓人,但与 mk-checksum-filter 一起它是非常有用的工具。

答案2

如果您想检查复制设置,是否考虑过使用:

答案3

./mysql -utest -ptest dbname -e'显示表状态\G'| awk'/Name/ {name = $2}; /Rows/ {print $2"\t"name}'| sort -gr

答案4

同样有用的可能是:

show table status;

必须对每个数据库执行。只需为您当前使用的数据库显示即可。替代但不快速的方法:使用信息模式:

select TABLE_SCHEMA, TABLE_NAME, ENGINE, TABLE_ROWS from information_schema.tables;

-> ENGINE 可能很重要,也许您想要过滤有关 performance_schema 或 information_schema 等不会被复制的信息。

相关内容