http://www.cnblogs.com/faily201/articles/2283245.html 写道
在通常情况下,我们安装好mysql后,用phpmyadmin登录管理,会发现除了自己安装的数据库以外,还有一个information_schema数据库。即使权限设置好了仍然会显示这个表,这个表里面会显示所有用户的相关信息,虽然密码没显示,但是为了安全着想还是要把它不显示才行.
首先了解一下information_schema是什么?
INFORMATION_SCHEMA是信息数据库,其中保存着关于MySQL服务器所维护的所有其他数据库的信息。在INFORMATION_SCHEMA中,有数个只读表。它们实际上是视图,而不是基本表,因此,你将无法看到与之相关的任何文件。
每位MySQL用户均有权访问这些表,但仅限于表中的特定行,在这类行中含有用户具有恰当访问权限的对象。
下面更详细介绍:
information_schema数据库是MySQL自带的,它提供了访问数据库元数据的方式。什么是元数据呢?元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。有些时候用于表述该信息的其他术语包括“数据词典”和“系统目录”。
在MySQL中,把 information_schema 看作是一个数据库,确切说是信息数据库。其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等。在INFORMATION_SCHEMA中,有数个只读表。它们实际上是视图,而不是基本表,因此,你将无法看到与之相关的任何文件。
information_schema数据库表说明:
SCHEMATA表:提供了当前mysql实例中所有数据库的信息。是show databases的结果取之此表。
TABLES表:提供了关于数据库中的表的信息(包括视图)。详细表述了某个表属于哪个schema,表类型,表引擎,创建时间等信息。是show tables from schemaname的结果取之此表。
COLUMNS表:提供了表中的列信息。详细表述了某张表的所有列以及每个列的信息。是show columns from schemaname.tablename的结果取之此表。
STATISTICS表:提供了关于表索引的信息。是show index from schemaname.tablename的结果取之此表。
USER_PRIVILEGES(用户权限)表:给出了关于全程权限的信息。该信息源自mysql.user授权表。是非标准表。
SCHEMA_PRIVILEGES(方案权限)表:给出了关于方案(数据库)权限的信息。该信息来自mysql.db授权表。是非标准表。
TABLE_PRIVILEGES(表权限)表:给出了关于表权限的信息。该信息源自mysql.tables_priv授权表。是非标准表。
COLUMN_PRIVILEGES(列权限)表:给出了关于列权限的信息。该信息源自mysql.columns_priv授权表。是非标准表。
CHARACTER_SETS(字符集)表:提供了mysql实例可用字符集的信息。是SHOW CHARACTER SET结果集取之此表。
COLLATIONS表:提供了关于各字符集的对照信息。
COLLATION_CHARACTER_SET_APPLICABILITY表:指明了可用于校对的字符集。这些列等效于SHOW COLLATION的前两个显示字段。
TABLE_CONSTRAINTS表:描述了存在约束的表。以及表的约束类型。
KEY_COLUMN_USAGE表:描述了具有约束的键列。
ROUTINES表:提供了关于存储子程序(存储程序和函数)的信息。此时,ROUTINES表不包含自定义函数(UDF)。名为“mysql.proc name”的列指明了对应于INFORMATION_SCHEMA.ROUTINES表的mysql.proc表列。
VIEWS表:给出了关于数据库中的视图的信息。需要有show views权限,否则无法查看视图信息。
TRIGGERS表:提供了关于触发程序的信息。必须有super权限才能查看该表。
那么怎么才能让他不显示呢?
答案如下:
如果不想在phpMyAdmin中显示的话只需要设置在config.inc.php(有的是config.default.php)中设置这样一句
$cfg['Servers'][$i]['hide_db'] = 'information_schema';
首先了解一下information_schema是什么?
INFORMATION_SCHEMA是信息数据库,其中保存着关于MySQL服务器所维护的所有其他数据库的信息。在INFORMATION_SCHEMA中,有数个只读表。它们实际上是视图,而不是基本表,因此,你将无法看到与之相关的任何文件。
每位MySQL用户均有权访问这些表,但仅限于表中的特定行,在这类行中含有用户具有恰当访问权限的对象。
下面更详细介绍:
information_schema数据库是MySQL自带的,它提供了访问数据库元数据的方式。什么是元数据呢?元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。有些时候用于表述该信息的其他术语包括“数据词典”和“系统目录”。
在MySQL中,把 information_schema 看作是一个数据库,确切说是信息数据库。其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等。在INFORMATION_SCHEMA中,有数个只读表。它们实际上是视图,而不是基本表,因此,你将无法看到与之相关的任何文件。
information_schema数据库表说明:
SCHEMATA表:提供了当前mysql实例中所有数据库的信息。是show databases的结果取之此表。
TABLES表:提供了关于数据库中的表的信息(包括视图)。详细表述了某个表属于哪个schema,表类型,表引擎,创建时间等信息。是show tables from schemaname的结果取之此表。
COLUMNS表:提供了表中的列信息。详细表述了某张表的所有列以及每个列的信息。是show columns from schemaname.tablename的结果取之此表。
STATISTICS表:提供了关于表索引的信息。是show index from schemaname.tablename的结果取之此表。
USER_PRIVILEGES(用户权限)表:给出了关于全程权限的信息。该信息源自mysql.user授权表。是非标准表。
SCHEMA_PRIVILEGES(方案权限)表:给出了关于方案(数据库)权限的信息。该信息来自mysql.db授权表。是非标准表。
TABLE_PRIVILEGES(表权限)表:给出了关于表权限的信息。该信息源自mysql.tables_priv授权表。是非标准表。
COLUMN_PRIVILEGES(列权限)表:给出了关于列权限的信息。该信息源自mysql.columns_priv授权表。是非标准表。
CHARACTER_SETS(字符集)表:提供了mysql实例可用字符集的信息。是SHOW CHARACTER SET结果集取之此表。
COLLATIONS表:提供了关于各字符集的对照信息。
COLLATION_CHARACTER_SET_APPLICABILITY表:指明了可用于校对的字符集。这些列等效于SHOW COLLATION的前两个显示字段。
TABLE_CONSTRAINTS表:描述了存在约束的表。以及表的约束类型。
KEY_COLUMN_USAGE表:描述了具有约束的键列。
ROUTINES表:提供了关于存储子程序(存储程序和函数)的信息。此时,ROUTINES表不包含自定义函数(UDF)。名为“mysql.proc name”的列指明了对应于INFORMATION_SCHEMA.ROUTINES表的mysql.proc表列。
VIEWS表:给出了关于数据库中的视图的信息。需要有show views权限,否则无法查看视图信息。
TRIGGERS表:提供了关于触发程序的信息。必须有super权限才能查看该表。
那么怎么才能让他不显示呢?
答案如下:
如果不想在phpMyAdmin中显示的话只需要设置在config.inc.php(有的是config.default.php)中设置这样一句
$cfg['Servers'][$i]['hide_db'] = 'information_schema';
相关推荐
- 不希望在PHPMYADMIN中显示“INFORMATION_SCHEMA”数据库,可以在配置文件(通常是`config.inc.php`或`config.default.php`)中加入一行代码:`$cfg['Servers'][$i]['hide_db'] = 'information_schema';` 这样,...
2. `INFORMATION_SCHEMA`数据库包含了MySQL服务器上所有其他数据库的相关信息,如果不想在phpMyAdmin中显示,可以在`config.inc.php`或`config.default.php`配置文件中加入`$cfg['Servers'][$i]['hide_db'] = '...
在phpMyAdmin中,以root用户登录,通过权限菜单添加新用户,并分配给他们各自的数据库。例如,创建用户edwin和leo,以及对应的数据库edwinDb和leoDb。确保每个用户只能访问他们自己的数据库,而不是所有数据库。 ...
SELECT SCHEMA_NAME FROM information_schema.SCHEMATA; ``` 同理,可以通过组合不同的查询来获取表结构、字段信息、索引等。 2. 使用第三方工具: 许多数据库管理工具,如Navicat、MySQL Workbench、...
本文实例讲述了MySQL实现快速删除所有表而不删除数据库的方法。分享给大家供大家参考,具体如下: 如果直接使用phpmyadmin操作的话肯定非常简单,勾选数据表-》点击删除-》点击确定,操作完毕! 这里介绍一下快速...
2: 在mysql不指定库访问时, 默认将隐藏一些内置库, 如information_schema,mysql,performance_schema, phpmyadmin, sys等. 可通过左下的完整按钮使之还原. 根据用户使用习惯来分析, 这几个库一般不会去查看或者修改,...
首先,我们要利用MySQL的内置信息模式(INFORMATION_SCHEMA)来获取表结构的相关信息。INFORMATION_SCHEMA是一个特殊的数据库,它包含了所有数据库的元数据,如表、列、索引等。我们可以查询`INFORMATION_SCHEMA....
$query = "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'your_database' AND TABLE_NAME LIKE '$old_prefix%'"; $result = mysqli_query($conn, $query); // 生成RENAME TABLE语句 ...
FROM information_schema.tables WHERE TABLE_SCHEMA = 'www_sdck_cn' AND table_name LIKE 'phpcms_%'; ``` 这个查询会列出所有需要更改前缀的表,并生成相应的ALTER TABLE语句。 3. 执行上述SQL查询。在...
- **查看数据字典**:通过查看information_schema下的STATISTICS表来了解实体完整性信息,通过REFERENTIAL_CONSTRAINTS表来了解参照约束信息。 - **任务3:通过触发器实现用户自定义完整性控制** - **构建新表**...
3. **初识 MySQL**:通过Navicat创建数据库连接,熟悉系统数据库如information_schema、performance_schema、mysql和test,以及用户自定义数据库。学习如何查看和修改数据库最大连接数,如通过修改my.ini文件的`max_...
`命令来查看默认的系统数据库,如information_schema、mysql等。 六、后续设置 1. 安全配置:首次安装后,推荐运行`mysql_secure_installation`脚本,以增强安全性,例如删除匿名用户、禁止远程root登录等。 2. ...
1. **初始化数据库**:首次启动MySQL时,它会创建一些必要的系统数据库,如`mysql`、`information_schema`等。 2. **安全设置**:运行`mysql_secure_installation`脚本,可以进一步增强MySQL的安全性,例如删除匿名...
这可以通过查询`INFORMATION_SCHEMA`.`KEY_COLUMN_USAGE`表来获取,或者直接查看数据库的设计图。 2. **检查依赖关系**:在删除外键之前,确保没有其他表依赖于这个外键。如果存在依赖,删除外键可能会导致数据不...
2. **Full-Text Search优化**:MySQL 5.5改进了全文本搜索功能,引入了INFORMATION_SCHEMA全文索引统计,支持对多个列进行全文索引,并允许在查询中使用自然语言模式。 3. **分区表**:在MySQL 5.5中,分区表功能...
- `FROM information_schema.TABLES AS t`:从`information_schema`系统库的`TABLES`表中获取数据,这个表包含了所有数据库中的表信息。 - `WHERE TABLE_SCHEMA = ‘userinfo’ AND TABLE_TYPE = ‘BASE TABLE’`...
此外,还可以使用数据库管理工具,如MySQL Workbench、phpMyAdmin(针对MySQL)、SQL Server Management Studio(针对SQL Server)等,这些工具提供图形用户界面,直观地展示数据库表的结构,便于查看和管理。...