误删INFORMATION SCHEMA数据库,求助恢复及自建数据库大小查询
恢复INFORMATION_SCHEMA数据库
INFORMATION_SCHEMA是多数关系型数据库(如MySQL、SQL Server)自带的系统虚拟数据库,它并非实际存储在磁盘的物理库,而是由数据库服务动态生成的元数据集合。正常情况下,你无法真正删除它——即便执行DROP DATABASE INFORMATION_SCHEMA;这类命令,也会因权限或系统限制执行失败,你大概率只是误以为该库被删除。
若确实出现无法访问INFORMATION_SCHEMA的情况,可尝试以下操作:
- 重启数据库服务,系统会自动重建INFORMATION_SCHEMA的元数据视图
- 检查当前数据库用户权限,确保拥有
SELECT权限访问该系统库
查询自行创建的数据库大小
以下以MySQL为例,提供两种常用查询方式:
- 查询单个自建数据库的大小:
SELECT table_schema AS '数据库名称', ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS '大小(MB)' FROM information_schema.tables WHERE table_schema = '你的目标数据库名' GROUP BY table_schema;
- 统计所有自建数据库的大小(自动排除系统库):
SELECT table_schema AS '数据库名称', ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS '大小(MB)' FROM information_schema.tables WHERE table_schema NOT IN ('information_schema', 'mysql', 'performance_schema', 'sys') GROUP BY table_schema ORDER BY SUM(data_length + index_length) DESC;
内容的提问来源于stack exchange,提问作者Wan Wan
相关产品推荐
相关产品推荐

