Dip*_*ole 16 mysql innodb information-schema mysql-5.5
我想检查是否使用 查询为每个数据库表innodb_file_per_table设置(即.ibd创建)MYSQL-5.5.
有办法吗?
小智 49
mysql> show variables like 'innodb_file_per_table';
+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| innodb_file_per_table | ON |
+-----------------------+-------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)
Bil*_*win 16
SELECT NAME, SPACE FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES;
Run Code Online (Sandbox Code Playgroud)
该SPACE会是0,为全球表空间(ibdata1中)和文件的每个表的表空间更大一些数字.
见http://dev.mysql.com/doc/refman/5.6/en/innodb-sys-tables-table.html
由于您使用的是MySQL 5.5,因此上述解决方案无效.在MySQL 5.5中,您可以使用:
SELECT DISTINCT TABLE_NAME, SPACE FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE_LRU
WHERE TABLE_NAME IS NOT NULL AND TABLE_NAME NOT LIKE 'SYS%';
Run Code Online (Sandbox Code Playgroud)
同样,对于全局表空间,SPACE为0,对于每个表的文件,SPACE为更大的整数.
需要注意的是,它只报告缓冲池中有页面的表.如果您尚未查询表,则缓冲池LRU中将没有页面,并且查询将不报告该表的任何结果.
唯一的其他解决方案是ls在数据目录中使用.:-)
| 归档时间: |
|
| 查看次数: |
13543 次 |
| 最近记录: |