配置phpmyadmin的认证方式
phpmyadmin提供了 三种方式:
config / http / cookie
http和cookie这两种方式,都提示用户输入用户名和密码, 而且, 一旦开了一个窗口 认证成功 , 再开一个窗口 ,还访问 http://bobnas:8080/phpmyadmin 仍然要进行身份验证(IE 6.0) 。
config 这种方式,是把用户名和密码写道config.default.php 中去了, 用户直接就进去了,不需要登陆。
【涉及的配置文件】: phpmyadmin/libraries/config.default.php
【建议】: 对于我们的NAS 推荐 cookie 比较好。
【前提条件】: 修改root密码和建立远程访问帐户(admin)
系统有两个帐户,
一个是root 密码是123456 ,但是仅仅可以本地登陆 ,形式为 [email=root@localhost]root@localhost[/email]
另一个是 admin ,密码admin , 可以从任何一个ip访问,形式为 [email=admin@ip_address]admin@ip_address[/email] ,但是不能不支持[email=admin@localhost]admin@localhost[/email]
为了支持 [email=admin@localhost]admin@localhost[/email] ,必须在 NAS执行如下命令:
在NAS端用 root 登陆mysql Server ,
假如这时候, MySQL刚刚安装完毕, 这时候 ,root的密码为空, 现在要改成 123456
代码: |
#shell> mysqladmin -uroot -p password 123456 //把密码改成123456 enter password : enter 即可 然后添加 admin 远程访问帐户: 登陆到MySQL Server上去: #shell>mysql -uroot -p123456 //用root登陆,密码123456 , 也 可以交互: mysql -uroot -p ,系统提示输入密码:123456 mysql> use mysql; mysql> GRANT ALL ON *.* TO admin@'localhost' IDENTIFIED BY 'admin' WITH GRANT OPTION; //可以从任何IP访问 mysql> GRANT ALL ON *.* TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION; //可以从localhost访问 |
【下面是开始phpmyadmin的认证的测试:】1> 如果认证方式是cookie
配置 config.default.php 如下:
代码: |
/** * The 'cookie' auth_type uses blowfish algorithm to encrypt the password. If * at least one server configuration uses 'cookie' auth_type, enter here a * passphrase that will be used by blowfish. The maximum length seems to be 46 * characters. */ $cfg['blowfish_secret'] = '1234567890'; //随便填写,最长46个字符 。。。 $cfg['Servers'][$i]['auth_type'] = 'cookie'; // Authentication method (config, http or cookie based)? //以下两项仅仅当 auth_type = config 时候 ,才有效, 这样,就不会有登陆窗口 , 直接就进入,可以直接操作MySQL 了。 $cfg['Servers'][$i]['user'] = 'root'; // MySQL user $cfg['Servers'][$i]['password'] = '123456'; // MySQL password (only needed // with 'config' auth_type) |
可以访问:
http://bobnas:8080/phpmyadmin
如图: 附件 cookie_auth_type.jpg
2>http 方式:
修改 config.default.php 如下:
对于我们NAS 最有用的就是 cookie这种方式,
代码: |
$cfg['Servers'][$i]['auth_type'] = 'http'; // Authentication method (config, http or cookie based)?
//以下两项仅仅当 auth_type = config 时候 ,才有效, 这样,就不会有登陆窗口 , 直接就进入,可以直接操作MySQL 了。 |
访问:
3>config 方式最简单, 相当于没有验证, 必须 修改 config.default.php
如下:
代码: |
$cfg['Servers'][$i]['auth_type'] = 'config'; // Authentication method (config, http or cookie based)?
//以下两项仅仅当 auth_type = config 时候 ,才有效, 这样,就不会有登陆窗口 , 直接就进入,可以直接操作MySQL 了。 |
如果用户名和密码写的对的话, 直接进入phpmyadmin的 主页了。
如果上面的用户名和密码不对 。比如 password不是123456,而是 abc 将会有如下错误: