phpmyadmin 使用配置文件中定义的控制用户连接失败 和 连接表的额外属性尚未激活
网上几乎搜索不到答案,于是自己读了一遍 /usr/local/www/phpMyadmin下的config.inc.php,原来只要注释掉controluser 和constrol pass 两行就行了。。。
不过如果你想打开高级的功能(不开你不知道哦,这个功能出乎你的想象),那就执行如下语句:
mysql -uroot -p
create database phpmyadmin;
use phpmyadmin;
source /usrs/local/www/phpMyadmin/scripts/create_tables.sql;
grant all on phpmyadmin.* to pma@"localhost" identified by 'pmapass';
flush privileges;
quit
以上几步纯是靠记忆,用手工打造出来的,个别单词可能打错了,自行修改吧,大体意思就是说先创建一个phpmyadmin的database,然后用phpMyadmin自的脚本创建好几个表,这几个表是后面要用的。 接着再创建一个用户pma密码pmapass ,授权此用户对phpmyadmin有完全控制权。
以上的步骤做好后,就直接去phpmyadmin的配置文件去掉注释,使用默认设置就可以解决问题了,如下:
cd /usr/local/www/phpMyadmin
cp config.sample.inc.php config.inc.php
vi config.inc.php
查找 pma一行,OK,从这里开始去掉注释吧:
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'pmapass';
/* Advanced phpMyAdmin features */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
$cfg['Servers'][$i]['relation'] = 'pma_relation';
$cfg['Servers'][$i]['table_info'] = 'pma_table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma_column_info';
$cfg['Servers'][$i]['history'] = 'pma_history';
$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
打开这些功能之后 ,就可以看到在你的phpMyadmin的顶上多了一个小标签,名称不说,必须自己做了以上步骤以后才行。至于网上有人写文章或者是抄文章说把pma和pmapass 改成自己的,并且将后面的phpmyadmin改成自己的以后,用phpMyadmin远程登录就只能修改那个设定的数据库的说话是错的。
PS:技术上的东西,大家不要在互联上抄来抄去了,唉,对国人这种潜心学习的态度很担忧。
呵呵,谢谢啊
回复删除刚好遇到了这问题
很有用