我一直在使用命令行成功使用MySQL,并创建了各种数据库(主要用于CMS)。
我决定尝试使用我在Joomla一书中提到的phpMyAdmin
。
但是当我点击数据库时,我只看到information_schema,phpMyAdmin和test。
我希望能够管理我的所有数据库(可能会提供适当的凭据)。可能相关的事实是,如果我以phpmyadmin
用户身份登录mysql并执行show databases;查询,我只看到那三个数据库。
我是否需要某种涉及show_db_priv
的授权(授予phpmyadmin
用户)?如果就是这样,那么这样做的确切语法是什么?当我为该用户进行演出授权时,我发现show_db_priv
不是其中之一。
答案 0 :(得分:6)
在phpMyAdmin中以MySQL root用户身份登录。如果您无法以root身份登录,尽管提供了正确的密码,请确保您在phpMyAdmin的config.inc.php中有此行,并设置为true。
$cfg['Servers'][$i]['AllowRoot'] = true;
如果您没有为MySQL root帐户分配密码,则默认密码为空。在这种情况下,请检查在phpMyAdmin的config.inc.php中将AllowNoPassword设置为true
$cfg['Servers'][$i]['AllowNoPassword'] = true;
答案 1 :(得分:1)
不确定这个答案是否相关,因为我在单个站点机器上使用phpMyAdmin作为WAMP的一部分。不过,它可能会帮助其他人遇到phpMyAdmin不显示现有数据库的问题。
在新机器上安装WAMP(使用phpMyAdmin 4.0.4),并使用我的php脚本创建一些数据库后,phpMyAdmin只会显示information_schema和测试数据库。
当我从命令提示符运行mysql时,数据库就在那里,所以wtf ??
经过一些实验,我发现添加以下行可以解决问题:
$ cfg ['Servers'] [$ i] ['auth_type'] ='config';
请注意,config.inc.php已经有
$ cfg ['Servers'] [$ i] ['user'] ='root';
$ cfg ['Servers'] [$ i] ['AllowNoPassword'] = true;
$ cfg ['Servers'] [$ i] ['AllowNoPasswordRoot'] = false;
$ cfg ['Servers'] [$ i] ['password'] ='mypwd';
注意:http://wiki.phpmyadmin.net/pma/auth_types中讨论了auth_type参数, 但是我没有看到有关未能显示用户创建的数据库的任何评论。
更多详情: 没有auth_type行,SHOW GRANTS(来自phpMyAdmin)会产生:
在上授予使用权。 TO''''localhost'由PASSWORD'确认'* CF74EB88D030BC86A14151B7CE22C8808A19AA4B'
使用auth_type行,SHOW GRANTS产生:
在上授予所有特权。以'root'@'localhost'通过密码识别'* CF74EB88D030BC86A14151B7CE22C8808A19AA4B'带有授权选项
授予'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''