phpMyAdmin配置文件说明
Mac 用户注意:PHP 貌似不喜欢苹果的换行符号 ("\r"),
因此,在保存配置文件之前,请确保您的文本编辑器可以使用 *nix 的换行符 ("\n")。
配置提示:几乎所有的配置参数都在 config.inc.php 文件中。
如果这个文件不存在,您可以在 libraries 目录中找到 config.default.php,
将它复制到根目录,并改名为 config.inc.php。
涉及到界面设计(例如颜色)的参数,存放在 themes/themename/layout.inc.php 文件中。
您也可以创建 config.footer.inc.php 文件和 config.header.inc.php 文件来添加您站点的自定义代码,
这些代码显示在页眉和页脚。
$cfg[PmaAbsoluteUri] 字符串
这里填写您的 phpMyAdmin 安装目录的完整 URL(包括完整的路径)。
例如:。
注意,在某些浏览器,URL 是大小写敏感的。不要忘记结尾处的反斜杠。
从 2.3.0 版本开始,您可以尝试不填这个参数。phpMyAdmin 可以自动检测到正确的配置。
使用端口转向的用户必须填写 PmaAbsoluteUri (如果您的服务器在防火墙后面,phpMyAdmin 将无法加载图形和样式表)。
检测方法是浏览一个表,编辑一条记录并保存,如果 phpMyAdmin 无法检测正确的值,系统将会有错误提示。
如果您看到错误提示,您必须手工设置这个参数。如果有其他问题,请向我们的 bug tracker 系统提交,我们将会在未来改进代码。
$cfg[PmaNoRelation_DisableWarning] 布尔
从 2.3.0 版本开始,phpMyAdmin 提供了对 主 / 外部数据表的支持(参考 $cfg['Servers'][$i]['pmadb'] 参数)。
如果您不能使用这些功能,请查阅您的某个数据库的“Structure”页面。那里会有一个连接,它会为您分析这些功能被禁止的原因。
如果您不想使用这些功能,将这个参数设置为 TRUE,这个信息将不会显示。
$cfg[blowfish_secret] 字符串
从 2.5.2 版本开始,“cookie”认证方式使用 blowfish 算法来加密密码。
如果您使用“cookie”认证方式,请在这里输入一个随机密钥,该密钥在 blowfish 算法内部使用:
在使用过程中不会提示您输入它。密钥最大长度为 46 个字符。
$cfg[Servers] 数组
从 1.4.2 版本开始,phpMyAdmin 可以管理多个 MySQL 服务器。
因此,加入了 $cfg['Servers'] 参数,这是一个数组,包括了不同服务器的登录信息。
第一个 $cfg['Servers'][$i]['host'] 参数是第一个服务器的主机名,
第二个 $cfg['Servers'][$i]['host'] 参数是第二个服务器的主机名,依此类推。
在 libraries/config.default.php 文件里,只有第一个服务器的定义,
不过您仍然可以在 config.inc.php 自己添加更多的服务器,
复制整个块,或者需要的部分(您不需要定义所有的值,只需要那些您修改过的参数)。
$cfg['Servers'][$i]['host'] 字符串
第 i 个服务器的主机名或者 IP 地址,例如 localhost。
$cfg['Servers'][$i]['port'] 字符串
第 i 个服务器的端口号。默认是 3306(可以不填)。
如果您的主机名是“localhost”,MySQL 将无视端口号,以socket 方式连接。
所以,如果您需要连接一个不同的端口号,请在 $cfg['Servers'][$i]['host'] 填写“127.0.0.1”或者真实的主机名。
$cfg['Servers'][$i]['socket'] 字符串
socket 路径。不填为默认值。
$cfg['Servers'][$i]['connect_type'] 字符串
与 MySQL 服务器的连接方式,您可以选择“socket”或者“tcp”。
默认为“tcp”,这种方式几乎可以连接所有的 MySQL 服务器,而 sockets 方式不支持某些平台。
要使用 socket 方式,您的 MySQL 服务器必须和 Web 服务器在用一台服务器。
$cfg['Servers'][$i]['extension'] 字符串
phpMyAdmin 系统使用的 php MySQL 扩展:
mysql:经典的 MySQL 扩展。默认值并推荐 MySQL 4.0 用户使用。
mysqli:改进的 MySQL 扩展。包含在 php 5.0.0 以上版本中,推荐 MySQL 4.1.0 以上版本用户使用。
$cfg['Servers'][$i]['compress'] 布尔
是否使用压缩协议来连接 MySQL 服务器。
本功能需要 PHP 4.3.0 以上版本。
$cfg['Servers'][$i]['controluser'] 字符串
$cfg['Servers'][$i]['controlpass'] 字符串
这个特殊账户有 2 个特殊作用:是的某些相关功能可用(参考 $cfg['Servers'][$i]['pmadb'] 参数);
在低于 4.1.2 版本,或者 “--skip-show-database”参数打开的 MySQL 服务器上,打开多用户功能(需要 http 或者 cookie 认证模式)。
如果您使用 HTTP 或者 cookie 认证模式(或在phpMyAdmin 2.2.1 以上版本使用 “config”认证模式),
您需要设立一个 MySQL 账户,该账户只有以下表的 SELECT 权限:
mysql.user 表(除了“Password”字段的所有字段),
mysql.db 表(所有字段),
mysql.tables_priv 表(除了“Grantor”和“Timestamp”字段的所有字段)。
这个账户用于检测登录用户可以看到的数据库。
请查阅文档的 安装章节 的 "Using authentication modes" 获取更多信息。
在 2.2.5 版本之前的 phpMyAdmin,这对参数叫做 "stduser/stdpass"。
$cfg['Servers'][$i]['auth_type'] 字符串 ['http'|'cookie'|'config']
选择 config、cookie 或者 http 认证。
* 'config' 认证($auth_type = 'config')是最简单的模式,用户名和密码存储在 config.inc.php 文件里;
* 'cookie' 认证模式($auth_type = 'cookie')2.2.3 以上版本允许您通过 cookie,以任何合法的 MySQL 用户登录。
用户名和密码存储在 cookie 中,注销后将删除密码。也可以使您登录任意的服务器(需要打开 $cfg['AllowArbitraryServer'] 参数)。
* 'http' 认证(在老版本叫做 'advanced')($auth_type = 'http')1.3.0 以上版本允许您通过 HTTP-Auth,以任何有效的 MySQL 用户登录。
请查阅文档的 安装章节 的 "Using authentication modes" 获取更多信息。
$cfg['Servers'][$i]['user'] 字符串
$cfg['Servers'][$i]['password'] 字符串
如果 auth_type = 'config',phpMyAdmin 将使用这个账户来连接 MySQL 服务器。
如果您使用 HTTP 或者 cookie 认证,请不要填写这个账户。
$cfg['Servers'][$i]['only_db'] 字符串或数组
如果填写了某个(或者某组)数据库,那么登录用户将只看到这个(或这些)数据库。
从 phpMyAdmin 2.2.1 开始,数据库名可以使用 MySQL 通配符("_" 和 "%"):
请用斜杠区分这两个符号,例如,应当使用 'my\_db' 而不是 'my_db'。
本功能可以有效降低服务器负载,MySQL 服务器将不会建立可用数据库的列表。
但本功能不会覆盖 MySQL 服务器的权限规则,
设置本参数,仅仅表示只显示这些数据库,并不是所有显示出来的数据库都能被访问。
多个数据库的例子
代码
$cfg['Servers'][$i]['only_db'] = array('db1', 'db2');
从 phpMyAdmin 2.5.5 开始,数组中的顺序将被用来作为页面左边帧的数据库显示顺序。因此,您可以自己排列数据库。
如果您只希望在列表开头显示某几个数据库,而不管其他的,那么,您不需要指定所有的数据库。
只需要填写:
代码
$cfg['Servers'][$i]['only_db'] = array('db3', 'db4', '*');
phpMyAdmin 将把 db3 和 db4 显示在开头,其他的按照默认顺序排列。
$cfg['Servers'][$i]['hide_db'] 字符串
用于隐藏某些数据库的正则表达式。这些数据库只是不显示在列表中,用户仍然可以访问他们。
$cfg['Servers'][$i]['verbose'] 字符串
只有当多服务器模式时有效。设置以后,本字符串将代替主机名显示在首页的下拉菜单中。
$cfg['Servers'][$i]['pmadb'] 字符串
包含连接表结构的数据库名称。
详细情况请查阅文档的 Linked-tables infrastructure 章节。
如果您是 phpMyAdmin 的唯一用户,你可以使用您当前的数据库来存储这些特殊的数据,填写当前数据库名即可。
如果您的 phpMyAdmin 配置为多个用户使用,在这里填写包含连接表结构的中心数据库名称。
$cfg['Servers'][$i]['bookmarktable'] 字符串
从 2.2.0 版本开始,phpMyAdmin 允许将经常使用的查询存储在书签中。
打开本功能的方法:
* 设置 pmadb 以及连接表结构
* 在 $cfg['Servers'][$i]['bookmarktable'] 处填写表名
----------------------------------
一般常用配置手法:
面谈谈,安装配置 phpMyAdmin 的步骤:
首先说一下 PHP 环境的配置:
最好把 PHP 安装目录下的全部 DLL 文件复制到 C:\WINDOWS\system32 中,这样可以解决上面许多问题的发生。
A。先下载 phpMyAdmin 安装包:
到国外官方网站 上,点击导航栏上的“DOWNLOADS”链接进入下载页面,选择“all-languages.zip”版本下载到本地,解压。把解压缩文件放到系统指定的虚拟目录中(可自定义文件夹名),如本人的机器存放位置是 D:\SERVER\phpMyAdmin3201 。
B。找到 “/libraries/config.default.php” 文件,把它复制到根目录中,并重新命名 “config.inc.php”。用支持 UTF-8 编码的写字板打开进行编辑。
C。查找 “$cfg['PmaAbsoluteUri']” 修改为你将上传到空间的 phpMyAdmin 的网址 URL:
这里因为我是本地调试,我改为:
$cfg['PmaAbsoluteUri'] = 'http://localhost/phpmyadmin/';
注意:不要漏掉最后的反斜杠/和开头的http。
D。查找字符串 “$cfg['Servers'][$i]['host']” ,将其值设置为 “localhost” 。
$cfg['Servers'][$i]['host'] = 'localhost';
(通常用默认,也有例外,可以不用修改)
E。查找字符串 “$cfg['Servers'][$i]['auth_type']” ,其值默认为 “config” ,一般用于本机调试,存在一定的安全隐患,建议将其值设置为 “cookie”。
$cfg['Servers'][$i]['auth_type'] = 'config';
我个人建议:无论是本地还是网络上,都建议设置成 cookie,安全第一。
同时,当 auth_type 这个值设置为 cookie 后,还有一个地方需要作出相应的修改:
$cfg['blowfish_secret'] = '';
改成:
$cfg['blowfish_secret'] = 'ABCDEFG';
此变量设置的是cookie加密密钥,随便输几个字符就可以了,不超过46个字符。如果这个地方留空,将会出现上文提到的第2个错误:“配置文件现在需要绝密的短语密码(blowfish_secret)”。
F。查找字符串 “$cfg['Servers'][$i]['user']”,将其值设置为 MySQL 系统 “root” 用户名。
$cfg['Servers'][$i]['user'] = 'root'; // MySQL user
(用户名,自己机里用 root;在网上一般为你的 ftp 用户名,虚拟主机提供商会告诉你的;一般不要修改)
G。查找字符串 “$cfg['Servers'][$i]['password']”,将其值设置为 MySQL 系统 “root” 用户口令 “123456”。
$cfg['Servers'][$i]['password'] = '123456'; // MySQL password
(123456 修改成连接你的 MYSQL 数据库的用户密码)
H。查找字符串 “$cfg['DefaultLang']”,将其值设置为 “zh”。
$cfg['DefaultLang'] = 'zh';
(这里是选择语言,“zh” 代表简体中文的意思)
I。查找字符串 “$cfg['DefaultCharset'] ”,将其值设置为 “gb2312”。
$cfg['DefaultCharset'] = 'gb2312';
(修改默认编码为国标)
到这里,phpMyAdmin 就已经配置完成 OK。你可以打开 访问方便快捷的图形化管理软件 phpMyAdmin了。
关于本文没有提到的配置文件里的其他选项,大家可以不用关心了也不必修改。
关于具体如何操作 phpMyAdmin 不在本文讨论的范围内,不过图形化界面,是通俗易懂,稍微看看就会用了。