服务器连接设置

$cfg['Servers']

Type:数组
Default value:一个服务器数组,下面列出了设置

自 1.4.2 起,phpMyAdmin 支持管理多个 MySQL 服务器。因此使用了 $cfg['Servers'] 数组来保存不同服务器的登录信息。第一个 $cfg['Servers'][$i]['host'] 表示第一个服务器的主机名,第二个 $cfg['Servers'][$i]['host'] 表示第二个服务器的主机名,以此类推。在 libraries/config.default.php 中,只有一节服务器的设置,您可以根据需要将其多次复制到 config.inc.php 中,完全复制或仅复制需要的部分(您要修改的部分)都行。

注解

The $cfg['Servers'] array starts with $cfg[‘Servers’][1]. Do not use $cfg[‘Servers’][0]. If you want more than one server, just copy following section (including $i increment) several times. There is no need to define full server array, just define values you need to change.

$cfg['Servers'][$i]['host']

Type:文本
Default value:‘localhost’

您第 $i 个 MySQL 服务器的主机名或 IP 地址。如 localhost

有效值有:

  • 主机名,如:'localhost''mydb.example.org'
  • IP 地址,如:'127.0.0.1''192.168.10.1'
  • IPv6 地址, 如``2001:cdba:0000:0000:0000:0000:3257:9652``
  • 点 - '.',即 Windows 系统上的命名管道
  • 空 - '',禁用该服务器

注解

主机名``localhost``由MySQL专门处理,它使用基于套接字的连接协议。要使用TCP/IP网络,请使用IP地址或主机名,例如``127.0.0.1``或``db.example.com``。您可以使用 $cfg['Servers'][$i]['socket'] 配置套接字的路径。

参见

$cfg['Servers'][$i]['port'][https://dev.mysql.com/doc/refman/5.7/en/connecting.html](https://dev.mysql.com/doc/refman/5.7/en/connecting.html)\

$cfg['Servers'][$i]['port']

Type:文本
Default value:‘’

您第 $i 个 MySQL 服务器的端口号。默认(留空)为 3306。

注解

若您使用 localhost 作为主机名,MySQL 将忽略端口号而使用套接字进行连接,所以若您想连接到非默认端口,请在 $cfg['Servers'][$i]['host'] 中填写 127.0.0.1 或真正的主机名。

参见

$cfg['Servers'][$i]['host'][https://dev.mysql.com/doc/refman/5.7/en/connecting.html](https://dev.mysql.com/doc/refman/5.7/en/connecting.html)\

$cfg['Servers'][$i]['socket']

Type:文本
Default value:‘’

要使用的套接字路径。留空为默认。要确定正确的套接字,请查看您的 MySQL 设置,或使用 MySQL 命令行客户端执行 status 命令。该命令将会显示出所使用的套接字。

注解

它仅当 $cfg['Servers'][$i]['host'] 设置为 localhost 的时候会生效。

参见

$cfg['Servers'][$i]['host'][https://dev.mysql.com/doc/refman/5.7/en/connecting.html](https://dev.mysql.com/doc/refman/5.7/en/connecting.html)\

$cfg['Servers'][$i]['ssl']

Type:布尔值
Default value:false

是否为phpMyAdmin和MySQL服务器之间的连接启用SSL以保护连接。

当使用``’mysql’扩展名时,其余的’ssl…’`` 配置选项都不适用。

我们强烈建议您在使用该项的同时使用``’mysqli’`` 扩展。

参见

Using SSL for connection to database server, Google Cloud SQL with SSL$cfg['Servers'][$i]['ssl_key']$cfg['Servers'][$i]['ssl_cert']$cfg['Servers'][$i]['ssl_ca']$cfg['Servers'][$i]['ssl_ca_path']$cfg['Servers'][$i]['ssl_ciphers']$cfg['Servers'][$i]['ssl_verify']

$cfg['Servers'][$i]['ssl_key']

Type:文本
Default value:

通过 SSL 连接到 MySQL 服务器时所用的客户端密钥文件路径。这用于向服务器验证客户端。

如:

  1. $cfg['Servers'][$i]['ssl_key'] = '/etc/mysql/server-key.pem';

参见

Using SSL for connection to database serverGoogle Cloud SQL with SSL$cfg['Servers'][$i]['ssl']$cfg['Servers'][$i]['ssl_cert']$cfg['Servers'][$i]['ssl_ca']$cfg['Servers'][$i]['ssl_ca_path']$cfg['Servers'][$i]['ssl_ciphers']$cfg['Servers'][$i]['ssl_verify']

$cfg['Servers'][$i]['ssl_cert']

Type:文本
Default value:

通过 SSL 连接到 MySQL 服务器时所用的客户端证书文件路径。这用于向服务器验证客户端。

参见

Using SSL for connection to database serverGoogle Cloud SQL with SSL$cfg['Servers'][$i]['ssl']$cfg['Servers'][$i]['ssl_key']$cfg['Servers'][$i]['ssl_ca']$cfg['Servers'][$i]['ssl_ca_path']$cfg['Servers'][$i]['ssl_ciphers']$cfg['Servers'][$i]['ssl_verify']

$cfg['Servers'][$i]['ssl_ca']

Type:文本
Default value:

通过 SSL 连接到 MySQL 服务器时所用的证书颁发机构文件路径。

参见

Using SSL for connection to database serverGoogle Cloud SQL with SSL$cfg['Servers'][$i]['ssl']$cfg['Servers'][$i]['ssl_key']$cfg['Servers'][$i]['ssl_cert']$cfg['Servers'][$i]['ssl_ca_path']$cfg['Servers'][$i]['ssl_ciphers']$cfg['Servers'][$i]['ssl_verify']

$cfg['Servers'][$i]['ssl_ca_path']

Type:文本
Default value:

存放有 PEM 格式的受信任 SSL 证书颁发机构证书的文件夹。

参见

Using SSL for connection to database serverGoogle Cloud SQL with SSL$cfg['Servers'][$i]['ssl']$cfg['Servers'][$i]['ssl_key']$cfg['Servers'][$i]['ssl_cert']$cfg['Servers'][$i]['ssl_ca']$cfg['Servers'][$i]['ssl_ciphers']$cfg['Servers'][$i]['ssl_verify']

$cfg['Servers'][$i]['ssl_ciphers']

Type:文本
Default value:

通过 SSL 连接到 MySQL 服务器时可以使用的加密算法列表。

参见

Using SSL for connection to database serverGoogle Cloud SQL with SSL$cfg['Servers'][$i]['ssl']$cfg['Servers'][$i]['ssl_key']$cfg['Servers'][$i]['ssl_cert']$cfg['Servers'][$i]['ssl_ca']$cfg['Servers'][$i]['ssl_ca_path']$cfg['Servers'][$i]['ssl_verify']

$cfg['Servers'][$i]['ssl_verify']

Type:布尔值
Default value:true

4.6.0 新版功能: 自phpMyAdmin 4.6.0起支持此功能。

如果您的PHP安装使用MySQL本机驱动程序(mysqlnd),您的MySQL服务器是5.6或更高版本,并且您的SSL证书是自签名的,那么您的SSL连接可能会因验证而失败。将其设置为``false``将禁用验证检查。

从PHP 5.6.0开始,它还验证服务器名称是否与其证书的CN匹配。目前无法在不禁用完整SSL验证的情况下禁用此检查。

警告

禁用证书验证会失去使用SSL的意义。这将使连接易受中间人攻击。

注解

此标志仅适用于PHP 5.6.16或更高版本。

参见

Using SSL for connection to database serverGoogle Cloud SQL with SSL$cfg['Servers'][$i]['ssl']$cfg['Servers'][$i]['ssl_key']$cfg['Servers'][$i]['ssl_cert']$cfg['Servers'][$i]['ssl_ca']$cfg['Servers'][$i]['ssl_ca_path']$cfg['Servers'][$i]['ssl_ciphers']$cfg['Servers'][$i]['ssl_verify']

$cfg['Servers'][$i]['connect_type']

Type:文本
Default value:‘tcp’

4.7.0 版后已移除: 从4.7.0开始不再使用此设置,因为MySQL根据主机决定连接类型,因此可能会导致意外结果。请相应地设置 $cfg['Servers'][$i]['host'] 选项。

设置如何连接到 MySQL 服务器。您可以选择 'socket''tcp'。默认为 tcp,因为几乎所有的 MySQL 服务器都支持,而有些平台是不支持套接字的。要使用套接字方式连接,您的 MySQL 服务器必须和网站服务器在同一台服务器上。

$cfg['Servers'][$i]['compress']

Type:布尔值
Default value:false

设置是否使用压缩协议连接到 MySQL 服务器(试验性的)。

$cfg['Servers'][$i]['controlhost']

Type:文本
Default value:‘’

设置使用一个其它的主机来保存高级功能的数据。

参见

$cfg['Servers'][$i]['control_*']

$cfg['Servers'][$i]['controlport']

Type:文本
Default value:‘’

设置通过一个其它的端口来连接到保存高级功能数据的主机。

参见

$cfg['Servers'][$i]['control_*']

$cfg['Servers'][$i]['controluser']

Type:文本
Default value:‘’

$cfg['Servers'][$i]['controlpass']

Type:文本
Default value:‘’

这个特殊帐户用于访问 phpMyAdmin 高级功能。在单用户案例中不需要它,但如果共享phpMyAdmin,建议只向该用户授予对 phpMyAdmin 高级功能 的访问权限,并配置phpMyAdmin使用它。然后,所有用户都可以使用这些功能,而无需直接访问 phpMyAdmin 高级功能

在 2.2.5 版更改: 它们叫做``stduser``和``stdpass``

参见

安装认证方式的使用phpMyAdmin 高级功能$cfg['Servers'][$i]['pmadb']$cfg['Servers'][$i]['controlhost']$cfg['Servers'][$i]['controlport']$cfg['Servers'][$i]['control_*']

$cfg['Servers'][$i]['control_*']

Type:mixed

4.7.0 新版功能.

您可以使用前缀为``control_``的配置更改控件链接的任何MySQL连接设置(用于访问 phpMyAdmin 高级功能)。

这可以用于更改控件连接的任何方面,默认情况下使用与用户相同的参数。

例如,您可以为控件连接配置SSL:

  1. // Enable SSL
  2. $cfg['Servers'][$i]['control_ssl'] = true;
  3. // Client secret key
  4. $cfg['Servers'][$i]['control_ssl_key'] = '../client-key.pem';
  5. // Client certificate
  6. $cfg['Servers'][$i]['control_ssl_cert'] = '../client-cert.pem';
  7. // Server certification authority
  8. $cfg['Servers'][$i]['control_ssl_ca'] = '../server-ca.pem';

参见

$cfg['Servers'][$i]['ssl']$cfg['Servers'][$i]['ssl_key']$cfg['Servers'][$i]['ssl_cert']$cfg['Servers'][$i]['ssl_ca']$cfg['Servers'][$i]['ssl_ca_path']$cfg['Servers'][$i]['ssl_ciphers']$cfg['Servers'][$i]['ssl_verify']

$cfg['Servers'][$i]['auth_type']

Type:文本
Default value:‘cookie’

设置该服务器是使用 config 还是 cookie 还是 HTTP 还是 signon 认证方式。

  • ‘config’ 认证方式($auth_type = 'config')是最原始的方法:将用户名和密码保存在 config.inc.php 中。
  • ‘cookie’认证方式($auth_type = 'cookie')将借助cookie允许您使用任何有效的 MySQL 用户登录。
  • ‘http’ 基本认证方式将允许您通过http认证使用任何有效的 MySQL 用户登录。
  • ‘signon’ 认证方式($auth_type = 'signon')将允许您从准备好的PHP会话数据或使用提供的PHP脚本登录。

参见

认证方式的使用

$cfg['Servers'][$i]['auth_http_realm']

Type:文本
Default value:‘’

在 auth_type = http 时,您可以通过该项设置一个自定义的 HTTP 基本认证提示信息给用户。若不设置,将使用“phpMyAdmin ”加上 $cfg['Servers'][$i]['verbose']$cfg['Servers'][$i]['host']

$cfg['Servers'][$i]['user']

Type:文本
Default value:‘root’

$cfg['Servers'][$i]['password']

Type:文本
Default value:‘’

使用 $cfg['Servers'][$i]['auth_type'] 时设置为’config’,这是phpMyAdmin用来连接MySQL服务器的用户/密码对。在 HTTP 或cookie身份验证的时候不需要此用户/密码对,并且应为空。

$cfg['Servers'][$i]['nopassword']

Type:布尔值
Default value:false

4.7.0 版后已移除: 此设置已删除,因为它可能会产生意外结果。

设置使用密码登录失败时是否允许尝试使用空密码登录。可与 http 认证同时使用,或通过其他方式完成认证使得 phpMyAdmin 取得用户名及空密码来连接到 MySQL 。然而总是会先尝试使用密码登录的。

$cfg['Servers'][$i]['only_db']

Type:字符串或数组
Default value:‘’

设置一个 (或一组) 数据库名,用户只能看到这些数据库。自 phpMyAdmin 2.2.1 起,数据库名可以包含 MySQL 通配符 (“_” 和 “%”): 如果你想使用这些字符本身,请转义它们 (即: 要使用 'my\_db' 而不是 'my_db')。

此设置可有效降低服务器的负载,因为不需要向 MySQL 发送构建可用数据库列表的请求。但**它并不能取代 MySQL 数据库服务器的权限规则**。这仅意味着这些数据库被显示出来而已,而**不是说没有显示出来的数据库都不能用。**

使用多个数据库的示例:

  1. $cfg['Servers'][$i]['only_db'] = array('db1', 'db2');

在 4.0.0 版更改: 以前的版本允许通过此指令指定数据库名称的显示顺序。

$cfg['Servers'][$i]['hide_db']

Type:文本
Default value:‘’

对非特权用户隐藏数据库的正则表达式。 这仅仅将数据库从列表中隐藏,用户仍然可以直接访问 (如通过 SQL 查询)。要彻底限制访问,请使用 MySQL 权限系统。例如,要隐藏所有开头字母是a的数据库,使用

  1. $cfg['Servers'][$i]['hide_db'] = '^a';

同时隐藏db1和db2,使用

  1. $cfg['Servers'][$i]['hide_db'] = '^(db1|db2)$';

More information on regular expressions can be found in the PCRE pattern syntax portion of the PHP reference manual.

$cfg['Servers'][$i]['verbose']

Type:文本
Default value:‘’

仅在通过 phpMyAdmin 管理多个服务器时有用。主页的下拉菜单中将用此值代替主机名。如果你想只显示系统中部分数据库时也有用,如,使用 HTTP 认证时,所有非 ASCII 字符都将被删除。

$cfg['Servers'][$i]['extension']

Type:文本
Default value:‘mysqli’

4.2.0 版后已移除: 此设置已删除。仅当``mysqli``扩展名不可用时才会使用``mysql``扩展名。从5.0.0开始,只能使用``mysqli``扩展名。

要使用的PHP MySQL扩展(mysql``或``mysqli)。

建议在所有安装中使用``mysqli``。

$cfg['Servers'][$i]['pmadb']

Type:文本
Default value:‘’

包含 phpMyAdmin 高级功能数据的数据库名。

参见 phpMyAdmin 高级功能 一节了解其好处以及如何快速创建该数据库和需要的数据表。

如果此 phpMyAdmin 只有你自己使用,你可以用你当前的数据库来保存这些特殊的数据表,这种情况下,你可以在 $cfg['Servers'][$i]['pmadb'] 中填写当前数据库的名字。若此 phpMyAdmin 作为多用户使用,请设为包含 phpMyAdmin 高级功能数据表的专用数据库。

$cfg['Servers'][$i]['bookmarktable']

Type:字符串或“false”
Default value:‘’

自 2.2.0 起 phpMyAdmin 允许用户将查询加入书签。你可以将经常要执行的语句加入书签。要允许使用此功能:

可以通过将配置设置为``false``来禁用此功能。

$cfg['Servers'][$i]['relation']

Type:字符串或“false”
Default value:‘’

自 2.2.4 起你可以在 ‘relation’ 表的支持下定义一张表中的一个字段与另一张表的关系 (外键)。目前 phpMyAdmin 将它用于:

字段值可以是数字或者字符。

要启用此功能:

  • 设置好 $cfg['Servers'][$i]['pmadb'] 和 phpMyAdmin 配置存储
  • $cfg['Servers'][$i]['relation'] 中设置要使用的数据表名
  • 现在以普通用户登录到 phpMyAdmin 并打开每一张你想要使用这个功能的数据表,点击:guilabel:结构/关系查看/ 并设置外键字段。

可以通过将配置设置为``false``来禁用此功能。

注解

请注意在当前版本中 master_db 必须和 foreign_db 一致。这两个字段是为后期跨数据库关系开发预留的。

$cfg['Servers'][$i]['table_info']

Type:字符串或“false”
Default value:‘’

自 2.3.0 起你可以在一个特殊的 ‘table_info’ 表的支持下设置当鼠标移到对应字段时用气泡提示显示出来的相应内容。此配置变量将保留此特殊表的名称。要允许使用此功能:

可以通过将配置设置为``false``来禁用此功能。

参见

6.7 How can I use the “display column” feature?

$cfg['Servers'][$i]['table_coords']

Type:字符串或“false”
Default value:‘’

设计器功能可以保存您的页面布局;通过在展开的设计器菜单中按“保存页面”或“将页面另存为”按钮,您可以自定义布局并在下次使用设计器时加载它。该布局存储在此表中。此外,使用PDF关系导出功能也需要此表,请参阅 $cfg['Servers'][$i]['pdf_pages'] 以获取更多详细信息。

$cfg['Servers'][$i]['pdf_pages']

Type:字符串或“false”
Default value:‘’

自 2.3.0 版本起你可以用 phpMyAdmin 创建 PDF 页面来显示各数据表之间的关系。要实现这个功能需要两张数据表, “pdf_pages” (保存可用 PDF 页的信息) 和 “table_coords” (保存每张表在 PDF 大纲输出中的坐标)。您必须使用“关系”功能。

要启用此功能:

可以通过将任一配置设置为``false``来禁用此功能。

参见

6.8 How can I produce a PDF schema of my database?.

$cfg['Servers'][$i]['column_info']

Type:字符串或“false”
Default value:‘’

这部分需要更新内容! 自 2.3.0 起您可以存储注释来描述每个表的每个列。然后这些将显示在“打印视图”上。

从版本2.5.0开始,注释因此在表属性页面和表浏览视图中使用,在列名称(属性页面)上方显示为工具提示或嵌入在浏览视图中的表头中。它们也可以显示在表转储中。请稍后查看相关的配置指令。

自 2.5.0 起 MIME 类型转换系统同样基于下列数据表结构。详情请参见 转换。要想使用 MIME 类型转换系统,column_info 表必须有这三个新字段 ‘mimetype’、’transformation’ 和 ‘transformation_options’ 。

从4.3.0版开始,引入了一种新的面向输入的转换系统。此外,删除了旧转换系统中使用的向后兼容性代码。因此,对于先前的转换和新的面向输入的转换系统来说,必须更新column_info表。 phpMyAdmin将通过分析您当前的column_info表结构自动为您升级它。但是,如果自动升级出现问题,那么您可以使用``./sql/upgrade_column_info_4_3_0+.sql``中的SQL脚本手动升级它。

要启用此功能:

  • 设置好 $cfg['Servers'][$i]['pmadb'] 和 phpMyAdmin 配置存储

  • $cfg['Servers'][$i]['column_info'] 中设置要使用的数据表名 (如:pma__column_info)

  • 要更新你的PRE-2.5.0 Column_comments表,使用这个: 并记住 config.inc.php`中的变量已从 :samp:`$cfg['Servers'][$i]['column_comments'] 被重命名到 $cfg['Servers'][$i]['column_info']

    1. ALTER TABLE `pma__column_comments`
    2. ADD `mimetype` VARCHAR( 255 ) NOT NULL,
    3. ADD `transformation` VARCHAR( 255 ) NOT NULL,
    4. ADD `transformation_options` VARCHAR( 255 ) NOT NULL;
  • 要手动更新PRE-4.3.0 Column_info表,使用这个``./sql/upgrade_column_info_4_3_0+.sql``SQL脚本。

可以通过将配置设置为``false``来禁用此功能。

注解

要使自动升级功能正常工作,你的 $cfg['Servers'][$i]['controluser'] 必须对``phpmyadmin``数据库具有ALTER权限。有关如何为用户提供``GRANT``特权,请参阅`GRANT的MySQL文档[https://dev.mysql.com/doc/refman/5.7/en/grant.html](https://dev.mysql.com/doc/refman/5.7/en/grant.html)\`_ 。

$cfg['Servers'][$i]['history']

Type:字符串或“false”
Default value:‘’

自 2.5.0 起你可以保存在 phpMyAdmin 中输入的 SQL 查询历史,即存储您手动输入到phpMyAdmin界面的所有查询。如果你不想使用基于数据表的历史记录,也可以使用基于 JavaScript 的历史记录。

使用它,关闭窗口时将删除所有历史记录项。通过 $cfg['QueryHistoryMax'] 可以定义保存历史记录的最大数量。过量历史记录的删除操作将在每次登录时执行。

查询历史仅在浏览器启用 JavaScript 时可用。

要启用此功能:

可以通过将配置设置为``false``来禁用此功能。

$cfg['Servers'][$i]['recent']

Type:字符串或“false”
Default value:‘’

从版本3.5.0开始,您可以在导航面板中显示最近使用的表格。它可以帮助您直接跳过表,而无需选择数据库,然后选择表。使用 $cfg['NumRecentTables'] 您可以配置显示的最近表的最大数量。当您从列表中选择一个表时,它将跳转到 $cfg['NavigationTreeDefaultTabTable'] 当中指定的页面。

如果不配置存储,您仍然可以访问最近使用的表,但在注销后它将消失。

要永久允许使用此功能:

可以通过将配置设置为``false``来禁用此功能。

$cfg['Servers'][$i]['favorite']

Type:字符串或“false”
Default value:‘’

从版本4.2.0开始,您可以在导航面板中显示所选表的列表。它可以帮助您直接跳转到表,而无需选择数据库,然后选择表。当您从列表中选择一个表时,它将跳转到 $cfg['NavigationTreeDefaultTabTable'] 当中指定的页面。

您可以通过单击表名旁边的星形图标将表添加到此列表或从数据库结构页中删除表。使用 $cfg['NumFavoriteTables'] 你可以配置显示的最喜欢的表数。

如果不配置存储,您仍然可以访问收藏表,但在注销后它将消失。

要永久允许使用此功能:

可以通过将配置设置为``false``来禁用此功能。

$cfg['Servers'][$i]['table_uiprefs']

Type:字符串或“false”
Default value:‘’

从版本3.5.0开始,phpMyAdmin可以配置为记住几个事项(排序列 $cfg['RememberSorting'],列顺序和数据库表中的列可见性)用于浏览表。如果不配置存储,仍可以使用这些功能,但注销后值将消失。

允许持久使用这些功能:

可以通过将配置设置为``false``来禁用此功能。

$cfg['Servers'][$i]['users']

Type:字符串或“false”
Default value:‘’

$cfg['Servers'][$i]['usergroups']

Type:字符串或“false”
Default value:‘’

Since release 4.1.0 you can create different user groups with menu items attached to them. Users can be assigned to these groups and the logged in user would only see menu items configured to the usergroup they are assigned to. To do this it needs two tables “usergroups” (storing allowed menu items for each user group) and “users” (storing users and their assignments to user groups).

要启用此功能:

可以通过将任一配置设置为``false``来禁用此功能。

参见

Configurable menus and user groups

$cfg['Servers'][$i]['navigationhiding']

Type:字符串或“false”
Default value:‘’

从4.1.0版开始,您可以隐藏/显示导航树中的项目。

要启用此功能:

可以通过将配置设置为``false``来禁用此功能。

$cfg['Servers'][$i]['central_columns']

Type:字符串或“false”
Default value:‘’

4.3.0版开始,您可以拥有每个数据库的列的中央列表。您可以根据需要在列表中添加/删除列。在为表创建新列或创建表本身时,可以使用中央列表中的这些列。您可以在创建新列时从中央列表中选择一列,这样可以避免再次编写相同的列定义或者为类似列编写不同的名称。

要启用此功能:

可以通过将配置设置为``false``来禁用此功能。

$cfg['Servers'][$i]['designer_settings']

Type:字符串或“false”
Default value:‘’

自发布 4.5.0 之后,您可以保存设计器设置。您选择的“折角/直接连接”、“吸附到网格”、“切换关系线”、“全部调小/大”、“移动菜单”和“固定住文本”选项可以永久保存下来。

要启用此功能:

可以通过将配置设置为``false``来禁用此功能。

$cfg['Servers'][$i]['savedsearches']

Type:字符串或“false”
Default value:‘’

从版本4.2.0开始,您可以从“数据库”>“查询”面板中保存并加载按示例搜索的搜索。

要启用此功能:

可以通过将配置设置为``false``来禁用此功能。

$cfg['Servers'][$i]['export_templates']

Type:字符串或“false”
Default value:‘’

自发布 4.5.0 以后,你可以保存和读取导出的模板。

要启用此功能:

可以通过将配置设置为``false``来禁用此功能。

$cfg['Servers'][$i]['tracking']

Type:字符串或“false”
Default value:‘’

自 3.3.x 起可以使用追踪功能。它可以帮你追踪每个通过 phpMyAdmin 执行的 SQL 命令。它支持记录数据修改和数据定义语句。启用后还可以创建数据表的版本。

创建版本会造成两个影响:

  • phpMyAdmin 保存当前数据表的快照,包括结构和索引。
  • phpMyAdmin 针对当前数据表记录的所有修改结构和/或数据的命令都将与版本关联。

Of course you can view the tracked changes. On the Tracking page a complete report is available for every version. For the report you can use filters, for example you can get a list of statements within a date range. When you want to filter usernames you can enter * for all names or you enter a list of names separated by ‘,’. In addition you can export the (filtered) report to a file or to a temporary database.

要启用此功能:

可以通过将配置设置为``false``来禁用此功能。

$cfg['Servers'][$i]['tracking_version_auto_create']

Type:布尔值
Default value:false

设置追踪系统是否自动为数据表和视图创建版本。

若设为 true 然后你通过

  • CREATE TABLE …
  • CREATE VIEW …

创建了一张表或视图并且它当前没有任何版本,系统将会自动为你创建一个版本。

$cfg['Servers'][$i]['tracking_default_statements']

Type:文本
Default value:‘CREATE TABLE,ALTER TABLE,DROP TABLE,RENAME TABLE,CREATE INDEX,DROP INDEX,INSERT,UPDATE,DELETE,TRUNCATE,REPLACE,CREATE VIEW,ALTER VIEW,DROP VIEW,CREATE DATABASE,ALTER DATABASE,DROP DATABASE’

定义自动创建新版的命令列表。

$cfg['Servers'][$i]['tracking_add_drop_view']

Type:布尔值
Default value:true

设置当记录视图创建时,是否在前面加上 DROP VIEW IF EXISTS 命令。

$cfg['Servers'][$i]['tracking_add_drop_table']

Type:布尔值
Default value:true

设置当记录数据表创建时,是否在前面加上 DROP TABLE IF EXISTS 命令。

$cfg['Servers'][$i]['tracking_add_drop_database']

Type:布尔值
Default value:true

设置当记录数据库创建时,是否在前面加上 DROP DATABASE IF EXISTS 命令。

$cfg['Servers'][$i]['userconfig']

Type:字符串或“false”
Default value:‘’

自 3.4.x 起 phpMyAdmin 允许用户自己设置大部分偏好并将设置保存在数据库中。

If you don’t allow for storing preferences in $cfg['Servers'][$i]['pmadb'], users can still personalize phpMyAdmin, but settings will be saved in browser’s local storage, or, it is is unavailable, until the end of session.

要启用此功能:

可以通过将配置设置为``false``来禁用此功能。

$cfg['Servers'][$i]['MaxTableUiprefs']

Type:整数
Default value:100

Maximum number of rows saved in $cfg['Servers'][$i]['table_uiprefs'] table.

当删除或重命名表时, $cfg['Servers'][$i]['table_uiprefs'] 可能包含无效数据(指不再存在的表)。我们只在 $cfg['Servers'][$i]['table_uiprefs'] 中保留这个最新的行数,然后自动删除旧的行。

$cfg['Servers'][$i]['SessionTimeZone']

Type:文本
Default value:‘’

设置 phpMyAdmin 所使用的时区。留空将使用数据库服务器的时区。可能的值在 https://dev.mysql.com/doc/refman/5.7/en/time-zone-support.html 中说明

当您的数据库服务器使用的时区不同于您要在 phpMyAdmin 中使用的时区时,这非常有用。

$cfg['Servers'][$i]['AllowRoot']

Type:布尔值
Default value:true

Whether to allow root access. This is just a shortcut for the $cfg['Servers'][$i]['AllowDeny']['rules'] below.

$cfg['Servers'][$i]['AllowNoPassword']

Type:布尔值
Default value:false

Whether to allow logins without a password. The default value of false for this parameter prevents unintended access to a MySQL server with was left with an empty password for root or on which an anonymous (blank) user is defined.

$cfg['Servers'][$i]['AllowDeny']['order']

Type:文本
Default value:‘’

If your rule order is empty, then IP authorization is disabled.

If your rule order is set to 'deny,allow' then the system applies all deny rules followed by allow rules. Access is allowed by default. Any client which does not match a Deny command or does match an Allow command will be allowed access to the server.

If your rule order is set to 'allow,deny' then the system applies all allow rules followed by deny rules. Access is denied by default. Any client which does not match an Allow directive or does match a Deny directive will be denied access to the server.

If your rule order is set to 'explicit', authorization is performed in a similar fashion to rule order ‘deny,allow’, with the added restriction that your host/username combination must be listed in the allow rules, and not listed in the deny rules. This is the most secure means of using Allow/Deny rules, and was available in Apache by specifying allow and deny rules without setting any order.

Please also see $cfg['TrustedProxies'] for detecting IP address behind proxies.

$cfg['Servers'][$i]['AllowDeny']['rules']

Type:字符串数组
Default value:array()

规则的格式通常为:

  1. <'allow' | 'deny'> <username> [from] <ipmask>

If you wish to match all users, it is possible to use a '%' as a wildcard in the username field.

There are a few shortcuts you can use in the ipmask field as well (please note that those containing SERVER_ADDRESS might not be available on all webservers):

  1. 'all' -> 0.0.0.0/0
  2. 'localhost' -> 127.0.0.1/8
  3. 'localnetA' -> SERVER_ADDRESS/8
  4. 'localnetB' -> SERVER_ADDRESS/16
  5. 'localnetC' -> SERVER_ADDRESS/24

Having an empty rule list is equivalent to either using 'allow % from all' if your rule order is set to 'deny,allow' or 'deny % from all' if your rule order is set to 'allow,deny' or 'explicit'.

For the IP Address matching system, the following work:

  • xxx.xxx.xxx.xxx (an exact IP Address)
  • xxx.xxx.xxx.[yyy-zzz] (an IP Address range)
  • xxx.xxx.xxx.xxx/nn (CIDR, Classless Inter-Domain Routing type IP addresses)

而下列形式是无效的:

  • xxx.xxx.xxx.xx[yyy-zzz] (partial IP address range)

For IPv6 addresses, the following work:

  • xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx (an exact IPv6 address)
  • xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:[yyyy-zzzz] (an IPv6 address range)
  • xxxx:xxxx:xxxx:xxxx/nn (CIDR, Classless Inter-Domain Routing type IPv6 addresses)

而下列形式是无效的:

  • xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xx[yyy-zzz] (partial IPv6 address range)

Examples:

  1. $cfg['Servers'][$i]['AllowDeny']['order'] = 'allow,deny';
  2. $cfg['Servers'][$i]['AllowDeny']['rules'] = array('allow bob from all');
  3. // Allow only 'bob' to connect from any host
  4. $cfg['Servers'][$i]['AllowDeny']['order'] = 'allow,deny';
  5. $cfg['Servers'][$i]['AllowDeny']['rules'] = array('allow mary from 192.168.100.[50-100]');
  6. // Allow only 'mary' to connect from host 192.168.100.50 through 192.168.100.100
  7. $cfg['Servers'][$i]['AllowDeny']['order'] = 'allow,deny';
  8. $cfg['Servers'][$i]['AllowDeny']['rules'] = array('allow % from 192.168.[5-6].10');
  9. // Allow any user to connect from host 192.168.5.10 or 192.168.6.10
  10. $cfg['Servers'][$i]['AllowDeny']['order'] = 'allow,deny';
  11. $cfg['Servers'][$i]['AllowDeny']['rules'] = array('allow root from 192.168.5.50','allow % from 192.168.6.10');
  12. // Allow any user to connect from 192.168.6.10, and additionally allow root to connect from 192.168.5.50

$cfg['Servers'][$i]['DisableIS']

Type:布尔值
Default value:false

Disable using INFORMATION_SCHEMA to retrieve information (use SHOW commands instead), because of speed issues when many databases are present.

注解

启用该选项可能会让您的老 MySQL 服务器的性能得到大幅度提升。

$cfg['Servers'][$i]['SignonScript']

Type:文本
Default value:‘’

3.5.0 新版功能.

Name of PHP script to be sourced and executed to obtain login credentials. This is alternative approach to session based single signon. The script has to provide a function called get_login_credentials which returns list of username and password, accepting single parameter of existing username (can be empty). See examples/signon-script.php for an example:

  1. <?php
  2. /**
  3. * Single signon for phpMyAdmin
  4. *
  5. * This is just example how to use script based single signon with
  6. * phpMyAdmin, it is not intended to be perfect code and look, only
  7. * shows how you can integrate this functionality in your application.
  8. */
  9. declare(strict_types=1);
  10. // phpcs:disable Squiz.Functions.GlobalFunction
  11. /**
  12. * This function returns username and password.
  13. *
  14. * It can optionally use configured username as parameter.
  15. *
  16. * @param string $user User name
  17. *
  18. * @return array
  19. */
  20. function get_login_credentials($user)
  21. {
  22. /* Optionally we can use passed username */
  23. if (! empty($user)) {
  24. return [
  25. $user,
  26. 'password',
  27. ];
  28. }
  29. /* Here we would retrieve the credentials */
  30. return [
  31. 'root',
  32. '',
  33. ];
  34. }

参见

Signon 认证方式

$cfg['Servers'][$i]['SignonSession']

Type:文本
Default value:‘’

Name of session which will be used for signon authentication method. You should use something different than phpMyAdmin, because this is session which phpMyAdmin uses internally. Takes effect only if $cfg['Servers'][$i]['SignonScript'] is not configured.

参见

Signon 认证方式

$cfg['Servers'][$i]['SignonCookieParams']

Type:数组
Default value:array()

4.7.0 新版功能.

An associative array of session cookie parameters of other authentication system. It is not needed if the other system doesn’t use session_set_cookie_params(). Keys should include ‘lifetime’, ‘path’, ‘domain’, ‘secure’ or ‘httponly’. Valid values are mentioned in session_get_cookie_params, they should be set to same values as the other application uses. Takes effect only if $cfg['Servers'][$i]['SignonScript'] is not configured.

参见

Signon 认证方式

$cfg['Servers'][$i]['SignonURL']

Type:文本
Default value:‘’

URL where user will be redirected to log in for signon authentication method. Should be absolute including protocol.

参见

Signon 认证方式

$cfg['Servers'][$i]['LogoutURL']

Type:文本
Default value:‘’

URL where user will be redirected after logout (doesn’t affect config authentication method). Should be absolute including protocol.