代码之家  ›  专栏  ›  技术社区  ›  Joh

模式数据库代表什么信息?

  •  21
  • Joh  · 技术社区  · 15 年前

    我在mysql中有一个数据库。

    但当我登录到phpMyAdmin时,它会显示另一个名为information\u schema的数据库。

    我的意思是说,mysql中的每个数据库都有一个information\u schema的副本,还是每个mysql服务器都有一个名为information\u schema的数据库?

    如果我修改这个信息模式数据库,那会对我当前的数据库产生什么影响?

    1 回复  |  直到 15 年前
        1
  •  31
  •   Matt Mitchell    15 年前

    您可以将information\u schema视为一个“主数据库”,其中包含有关服务器上所有其他数据库的详细信息,例如表、列和用户的名称和类型。

    什么是信息模式?

    the reference documentation:

    信息模式提供访问 数据库元数据。

    作为数据库或表的名称, 特权。有时 用于此信息的是数据 字典和系统目录。

    信息模式就是信息 数据库,存储 其他人的信息 MySQL服务器上的数据库 保持。内部信息架构 有几个只读表。 表,所以没有文件 与他们有关。

    通过查看,您可以看到存储在信息模式中的各种事物,以及它们的组织方式 this diagram this diagram

    实际上,信息模式是只读视图的集合。因此,不可能对其进行修改并造成任何损坏。然而, the MySQL FAQ on this topic

    不。 一定的标准结构,这 不应修改。为了这个 原因是,我们不能支持错误或 其他由以下原因引起的问题: 修改架构表或

    这意味着,如果您发现自己能够修改信息模式(这应该是不可能的,而且是在MySQL中,但是其他供应商的SQL实现可能允许这样做),那么您至少应该选择不这样做。如果你 能够

    每个用户都有自己的信息拷贝吗?

    参考文件:

    每个MySQL用户都有权 表中对应的行 到用户具有 正确的访问权限。在某些方面 案例(例如 中的例程定义列 信息(SCHEMA.ROUTINES表), 将看到空值。