如何获取 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 等不会被复制的信息。