在外企做服务器开发, 目前是项目经理, 管理两个server开发的项目。不做嵌入式好久了。
全部博文(197)
分类: LINUX
2007-02-13 10:41:11
【原创】配置phpmyadmin的认证方式
下面是word档案下载:
http://blogimg.chinaunix.net/blog/upfile/070213104652.rar
【认证方式】phpmyadmin提供了 三种方式:
config / http / cookie
http和cookie这两种方式,都提示用户输入用户名和密码, 而且, 一旦开了一个窗口 认证成功 , 再开一个窗口 ,还访问 仍然要进行身份验证(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
CODE:
#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 如下:
CODE:
/**
* 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)
可以访问:
如图: 附件 cookie_auth_type.jpg
2>http 方式:
修改 config.default.php 如下:
对于我们NAS 最有用的就是 cookie这种方式,
CODE:
$cfg['Servers'][$i]['auth_type'] = 'http'; // 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_auth_type.jpg
3>config 方式最简单, 相当于没有验证, 必须 修改 config.default.php
如下:
CODE:
$cfg['Servers'][$i]['auth_type'] = 'config'; // 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)
如果用户名和密码写的对的话, 直接进入phpmyadmin的 主页了。
如果上面的用户名和密码不对 。比如 password不是123456,而是 abc 将会有如下错误: