我的数据库服务器最近损坏了,我在服务器上有300多个数据库。
我目前正在做的是运行phpmyadmin
,并逐个检查所有数据库,以查看是否有任何数据库至少有一个collation
中包含in use
的数据库要恢复。
如何在collation
中至少有一个in use
的所有数据库和表中搜索collation
?
服务器是CentOS 7,我有根访问权限。如果需要,我可以运行PHP脚本,如果你能帮助我与PHP。
更新1
直到现在我才发现我应该运行这些查询来使用数据库并显示表状态:
Use DatabaseName;
show TABLE STATUS;
它显示所有表的状态,包括损坏的表:
| 2022-04-05 20:31:19 | utf8_persian_ci | NULL | | | 288230376151710720 | N |
| users | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL| NULL | NULL | NULL | NULL | Table 'db_name.users' doesn't exist in engine | NULL | NULL |
我需要grep
或将其通过管道传输到另一个文件,以检查并列出所有文件。
1条答案
按热度按时间cwdobuhd1#
您 可以 修改 此 shell 脚本 以 供 使用 :
mysql - N 取消 标 头 grep - v E " . .| .. " 排除 系统 数据 库
中 的 每 一 个
输出 :
格式
使用 2 个 命令 :
格式