+ -
当前位置:首页 → 问答吧 → 求教关于mysql数据库和information_schema数据库的区别

求教关于mysql数据库和information_schema数据库的区别

时间:2011-08-15

来源:互联网

如题,请教区别?我看到所有信息全部都写入information_schema数据库,而在mysql数据库中貌似只有user表内才有信息,请教区别。谢谢。

作者: ybgba   发布时间: 2011-08-15

NFORMATION_SCHEMA是信息数据库,其中保存着关于MySQL服务器所维护的所有其他数据库的信息。在INFORMATION_SCHEMA中,有数个只读表。它们实际上是视图,而不是基本表,因此,你将无法看到与之相关的任何文件。

看手册
http://dev.mysql.com/doc/refman/5.1/zh/information-schema.html#information-schema-tables

作者: vipper23   发布时间: 2011-08-15

MYSQL是实际存在于物理磁盘的。 而information_schema数据库仅是在内存中,由MYSQL运行后生成的。

作者: ACMAIN_CHM   发布时间: 2011-08-15

按照你的意思,就是说只有当mysql运行的时候,information_schema内才会有信息?

我现在查找db信息,在mysql数据库中的db表中没有信息,而却在information_schema数据库中的schemata表中却找到了db信息。

我是不是可以这么认为,当mysql数据库运行以后,则所有信息全部读入information_schema数据库中,所以我看到的都是即时信息,当数据库停止以后,则信息全部清除。

那如果是这样的话,mysql数据库有存在的意义么?
谢谢。

作者: ybgba   发布时间: 2011-08-15

引用按照你的意思,就是说只有当mysql运行的时候,information_schema内才会有信息?



引用那如果是这样的话,mysql数据库有存在的意义么?
USER表,还有其它所有的表,至于其它表中没有东西,那是你没有进行设置。比如DB表中,你根本没有做任何关于DB授权的设置,自然这个表中没有任何内容。 建议看一下MYSQL的手册中对这些表的说明。

作者: ACMAIN_CHM   发布时间: 2011-08-15

mysql数据库是实实在在的系统数据库,有实际的表文件数据库目录。
而information_schema是mysql为了遵循SQL标准,创建了这么一个“虚拟”的库。它没有对应的物理文件。应该是加载到内存当中。或者直接使用视图生成。

作者: iihero   发布时间: 2011-08-15

引用 4 楼 acmain_chm 的回复:

引用按照你的意思,就是说只有当mysql运行的时候,information_schema内才会有信息?是


引用那如果是这样的话,mysql数据库有存在的意义么?USER表,还有其它所有的表,至于其它表中没有东西,那是你没有进行设置。比如DB表中,你根本没有做任何关于DB授权的设置,自然这个表中没有任何内容。 建议看一下MYSQL的手册中对这些表的说明。


多谢。

那如果说我要给一个用户CREATE DATABASE的权限,但是不想给这个用户MYSQL数据库的权限,请问这样是不是矛盾的?

作者: ybgba   发布时间: 2011-08-15