`

让普通用户登录phpmyadmin不显示information_schema

阅读更多
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';

 

分享到:
评论

相关推荐

    使用PHPMYADMIN操作mysql数据库添加新用户和数据库的方法.pdf

    - 不希望在PHPMYADMIN中显示“INFORMATION_SCHEMA”数据库,可以在配置文件(通常是`config.inc.php`或`config.default.php`)中加入一行代码:`$cfg['Servers'][$i]['hide_db'] = 'information_schema';` 这样,...

    使用PHPMYADMIN操作mysql数据库添加新用户和数据库的方法

    2. `INFORMATION_SCHEMA`数据库包含了MySQL服务器上所有其他数据库的相关信息,如果不想在phpMyAdmin中显示,可以在`config.inc.php`或`config.default.php`配置文件中加入`$cfg['Servers'][$i]['hide_db'] = '...

    wampserver

    在phpMyAdmin中,以root用户登录,通过权限菜单添加新用户,并分配给他们各自的数据库。例如,创建用户edwin和leo,以及对应的数据库edwinDb和leoDb。确保每个用户只能访问他们自己的数据库,而不是所有数据库。 ...

    mysql数据字典生成

    SELECT SCHEMA_NAME FROM information_schema.SCHEMATA; ``` 同理,可以通过组合不同的查询来获取表结构、字段信息、索引等。 2. 使用第三方工具: 许多数据库管理工具,如Navicat、MySQL Workbench、...

    MySQL实现快速删除所有表而不删除数据库的方法

    本文实例讲述了MySQL实现快速删除所有表而不删除数据库的方法。分享给大家供大家参考,具体如下: 如果直接使用phpmyadmin操作的话肯定非常简单,勾选数据表-》点击删除-》点击确定,操作完毕! 这里介绍一下快速...

    Adminers v1.1.5 MySQL管理客户端.zip

    2: 在mysql不指定库访问时, 默认将隐藏一些内置库, 如information_schema,mysql,performance_schema, phpmyadmin, sys等. 可通过左下的完整按钮使之还原. 根据用户使用习惯来分析, 这几个库一般不会去查看或者修改,...

    mysql如何将表结构导出到excel

    首先,我们要利用MySQL的内置信息模式(INFORMATION_SCHEMA)来获取表结构的相关信息。INFORMATION_SCHEMA是一个特殊的数据库,它包含了所有数据库的元数据,如表、列、索引等。我们可以查询`INFORMATION_SCHEMA....

    mysql批量修改表前缀

    $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语句 ...

    使用phpMyAdmin批量修改Mysql数据表前缀的方法

    FROM information_schema.tables WHERE TABLE_SCHEMA = 'www_sdck_cn' AND table_name LIKE 'phpcms_%'; ``` 这个查询会列出所有需要更改前缀的表,并生成相应的ALTER TABLE语句。 3. 执行上述SQL查询。在...

    《媒体数据库与云存储》 实验(二) 实验报告.pdf

    - **查看数据字典**:通过查看information_schema下的STATISTICS表来了解实体完整性信息,通过REFERENTIAL_CONSTRAINTS表来了解参照约束信息。 - **任务3:通过触发器实现用户自定义完整性控制** - **构建新表**...

    MySQL数据库基础培训.pptx

    3. **初识 MySQL**:通过Navicat创建数据库连接,熟悉系统数据库如information_schema、performance_schema、mysql和test,以及用户自定义数据库。学习如何查看和修改数据库最大连接数,如通过修改my.ini文件的`max_...

    windows下安装Mysql

    `命令来查看默认的系统数据库,如information_schema、mysql等。 六、后续设置 1. 安全配置:首次安装后,推荐运行`mysql_secure_installation`脚本,以增强安全性,例如删除匿名用户、禁止远程root登录等。 2. ...

    MySQL5.0安装配置教程_图解

    1. **初始化数据库**:首次启动MySQL时,它会创建一些必要的系统数据库,如`mysql`、`information_schema`等。 2. **安全设置**:运行`mysql_secure_installation`脚本,可以进一步增强MySQL的安全性,例如删除匿名...

    mysql 删除外键.png

    这可以通过查询`INFORMATION_SCHEMA`.`KEY_COLUMN_USAGE`表来获取,或者直接查看数据库的设计图。 2. **检查依赖关系**:在删除外键之前,确保没有其他表依赖于这个外键。如果存在依赖,删除外键可能会导致数据不...

    mysql5.5 for windows

    2. **Full-Text Search优化**:MySQL 5.5改进了全文本搜索功能,引入了INFORMATION_SCHEMA全文索引统计,支持对多个列进行全文索引,并允许在查询中使用自然语言模式。 3. **分区表**:在MySQL 5.5中,分区表功能...

    MYSQL修改所有表的存储引擎格式语句

    - `FROM information_schema.TABLES AS t`:从`information_schema`系统库的`TABLES`表中获取数据,这个表包含了所有数据库中的表信息。 - `WHERE TABLE_SCHEMA = ‘userinfo’ AND TABLE_TYPE = ‘BASE TABLE’`...

    计算机软件-商业源码-取数据库中表的结构.zip

    此外,还可以使用数据库管理工具,如MySQL Workbench、phpMyAdmin(针对MySQL)、SQL Server Management Studio(针对SQL Server)等,这些工具提供图形用户界面,直观地展示数据库表的结构,便于查看和管理。...

Global site tag (gtag.js) - Google Analytics