如何在phpMadAdmin中查看phpmyadmin用户的所有数据库?

时间:2013-03-22 20:17:44

标签: mysql phpmyadmin

我一直在使用命令行成功使用MySQL,并创建了各种数据库(主要用于CMS)。

我决定尝试使用我在Joomla一书中提到的phpMyAdmin

但是当我点击数据库时,我只看到information_schema,phpMyAdmin和test。

我希望能够管理我的所有数据库(可能会提供适当的凭据)。可能相关的事实是,如果我以phpmyadmin用户身份登录mysql并执行show databases;查询,我只看到那三个数据库。

我是否需要某种涉及show_db_priv的授权(授予phpmyadmin用户)?如果就是这样,那么这样做的确切语法是什么?当我为该用户进行演出授权时,我发现show_db_priv不是其中之一。

2 个答案:

答案 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'带有授权选项

     

授予'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''