本节学习如何安装 phpMyAdmin,它是用 PHP 脚本写的 MySQL 数据库的管理软件,是使用 Web 图形模式直接管理 MySQL 数据库的工具。phpMyAdmin 可以用来创建、修改、删除数据库和数据表;可以用来创建、修改、删除数据记录;可以用来导入和导出整个数据库;还可以完成许多其他的 MySQL 系统管理任务。
对于不熟悉使用命令来进行数据库管理的管理者来说,phpMyAdmin 更加简单和方便。其实大家可以把 phpMyAdmin 当作使用 PHP 脚本写的一个项目,我们安装 phpMyAdmin 的方法可以套用到绝大多数 PHP 开源项目的安装上(其他 PHP 的开源项目在安装到 LAMP 环境中时,可能需要手工建立后台数据库结构和数据库表结构)。安装步骤如下。
复制 phpMyAdmin 脚本文件
[root@localhost ~]# cp -r /usr/local/src/ phpMyAdmin-4.1.4-all-languages/usr/local/apache2/htdocs/phpmyadmin #改名复制phpMyAdmin到apache的默认网页目录中 [root@localhost ~]# cd /usr/local/apache2/htdocs/phpmyadmin/ #进入phpmyadmin目录 [root@localhost phpmyadmin]# cp config.sample.inc.php config.inc.php #复制配置模板文件为真正的配置文件
phpMyAdmin 和前面章节中介绍安装的源码包都不太一样,不再是使用 C 语言编写的源码包程序,而是一个使用 PHP 脚本编写的、通过浏览器解释执行的网站项目。所以在安装时,只需把 phpMyAdmin 复制到 apache 的默认网页目录中,并通过浏览器来解释执行这个脚本即可。
修改 phpMyAdmin 的验证方式
phpMyAdmin 默认识别 3 种验证方式:
1、HTTP 身份验证:调用apache的加密目录模块,在用户登录时,弹出登录窗口,需要输入正确的用户名和密码才能正常登录;
2、cookie 身份验证:是HTTP身份验证模式的补充,不能使用HTTP身份验证模式的场合都可以使用它,它要求用户必须允许来自phpMyAdmin的cookie进入自己的计算机,即用户需要在浏览器中开启客户端的cookie功能;
3、config 身份验证:客户端在登录时不再需要输入用户名和密码,就可以直接登录,因为用户名和密码是用明文方式写入config.inc.php配置文件的,所以这种验证方式并不安全,不推荐使用;
1) HTTP身份验证配置
要想使用 HTTP 身份验证,只需要修改 PHP 的配置文件 config.inc.php,把验证方式改为“http”即可。命令如下:
[root@localhost phpmyadmin]# vi config.inc.php 把 $cfg['Servers'][$i]['auth_type'] = 'cookie'; 改为 $cfg['Servers'][$i]['auth_type'] = 'http';
保存退出后,就可以在浏览器中输入“http://192.168.0.210/phpmyadmin/index.php”进行访问了,如图 1 所示。
图 1 phpMyAdmin 的 HTTP 身份验证
在登录对话框中输入 MySQL 的管理员“root”和我们刚刚安装 MySQL 时设定的密码“123”就能登录 phpMyAdmin了。
2) cookie身份验证
如果想让 phpMyAdmin 使用 cookie 身份验证模式,除必须修改 config.inc.php 文件里的 auth_type 语句外,还必须向 blowfish_secret 参数提供一个字符串。这个字符串可以是任意的,目的是在把登录时使用的用户名和密码存储在客户端的 cookie 中之前,系统将使用这个字符串对它们进行加密。
在 config.inc.php 中修改的内容如下:
[root@localhost phpmyadmin]# vi config.inc.php $cfg['blowfish_secret'] = 'c.baincheng.net'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH!*/ #这里可以写任意字符串 #在PHP中,/* */代表注释一段话 $cfg['Servers'][$i]['auth_type'] = 'cookie'; #把验证方式改为cookie
保存退出后,就可以使用浏览器访问了,访问方式和 HTTP 身份验证是一样的,如图 2 所示。同样,在登录对话框中输入 MySQL 的用户名和密码即可登录。
图 2 phpMyAdmin的cookie身份验证