Mysql 如何将phpMyAdmin中的所有数据库视为phpMyAdmin用户?

Mysql 如何将phpMyAdmin中的所有数据库视为phpMyAdmin用户?,mysql,phpmyadmin,Mysql,Phpmyadmin,我一直在使用命令行成功地使用MySQL,并创建了各种数据库(主要用于CMS) 我决定尝试使用phpMyAdmin,这是我在一本关于Joomla!的书中看到的 但当我点击数据库时,我只看到了schema、phpMyAdmin和test的信息 我希望能够管理我的所有数据库(可能会提供适当的凭据)。可能与此相关的是,如果我以phpmyadmin用户身份登录mysql并显示数据库;查询,我只看到这三个数据库 我是否需要某种涉及show\u db\u priv的授权(授权给phpmyadmin用户)?如果

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

我决定尝试使用
phpMyAdmin
,这是我在一本关于Joomla!的书中看到的

但当我点击数据库时,我只看到了schema、phpMyAdmin和test的信息

我希望能够管理我的所有数据库(可能会提供适当的凭据)。可能与此相关的是,如果我以
phpmyadmin
用户身份登录mysql并显示数据库;查询,我只看到这三个数据库


我是否需要某种涉及
show\u db\u priv
的授权(授权给
phpmyadmin
用户)?如果是这样,那么具体的语法是什么?当我为这个用户做一个show授权时,我可以看到
show\u db\u priv
不是其中之一。

在phpMyAdmin中以MySQL根用户身份登录。如果尽管提供了正确的密码,但无法以root用户身份登录,请确保phpMyAdmin的config.inc.php中有这一行,并将其设置为true

$cfg['Servers'][$i]['AllowRoot'] =     true;
如果您尚未为MySQL根帐户分配密码,则默认密码为空。在这种情况下,请检查phpMyAdmin的config.inc.php中AllowNoPassword是否设置为true

$cfg['Servers'][$i]['AllowNoPassword'] = true;

不确定这个答案是否相关,因为我在单站点机器上使用phpMyAdmin作为WAMP的一部分。不过,它可能会帮助其他人遇到phpMyAdmin不显示现有数据库的问题

在一台新机器上安装WAMP(使用phpMyAdmin 4.0.4)并使用我的php脚本创建一些数据库后,phpMyAdmin将只显示信息_模式和测试数据库

当我在命令提示符下运行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'

  • 注意:中讨论了auth_类型参数, 但我没有看到任何关于未能显示用户创建的数据库的评论

  • 更多详情: 没有auth_type行,SHOW GRANTS(来自phpMyAdmin)将生成:

    允许在上使用。发送到由密码“*CF74EB88D030BC86A14151B7CE22C8808A19AA4B”标识的“@'localhost”

  • 使用auth_type行,显示:

授予在上的所有特权。使用GRANT选项发送到由密码“*CF74EB88D030BC86A14151B7CE22C8808A19AA4B”标识的“根”@“本地主机”

使用GRANT选项将“@”上的代理授予“根”@“本地主机”


只需将mysql根凭据(安全地)用于PHPMyAdmin配置,它就会显示所有数据库。这似乎奏效了。但是现在我想知道单独的phpmyadmin用户的意义是什么。