MySQL可以';看不到数据库
当我通过PHPMyAdmin使用MySQL可以';看不到数据库,mysql,database,Mysql,Database,当我通过PHPMyAdmin使用wade登录时,我看不到数据库source\u starcraft。我只执行了此查询,并在此查询之前创建了用户。似乎在授予权限的主机和正在使用的主机方面存在一些冲突/混淆 在FLUSH PRIVILEGES消除这种可能性后,我将看到登录后我被识别为哪个用户: GRANT SELECT ON source_starcraft.udb_ability TO `wade`@`localhost' 请注意,MySQL总是将登录名与最特定的主机相关联。看见然后将其与特权数
wade
登录时,我看不到数据库source\u starcraft
。我只执行了此查询,并在此查询之前创建了用户。似乎在授予权限的主机和正在使用的主机方面存在一些冲突/混淆
在FLUSH PRIVILEGES
消除这种可能性后,我将看到登录后我被识别为哪个用户:
GRANT SELECT ON source_starcraft.udb_ability TO `wade`@`localhost'
请注意,MySQL总是将登录名与最特定的主机相关联。看见然后将其与特权数据库中的内容进行比较
SELECT user();
要解决这种情况,请
撤销
或删除
+刷新权限
引起冲突的故障(注意不要把自己弄到角落里),或者向您的用户标识为的用户授予更多权限。如果您登录到phpMyAdmin的用户确实具有查看数据库的正确权限,但您仍然无法看到该数据库,则可能意味着phpMyAdmin本身已配置为不显示该数据库。这最容易通过发出显示数据库来验证代码>phpMyAdmin中的SQL查询。如果您要查找的数据库出现,则至少允许用户查看它
有几个配置指令可以控制哪些数据库在phpMyAdmin的列表中可见。如果使用自动安装程序或脚本将phpMyAdmin添加到用户帐户,则它可能还只设置了\u db或隐藏\u db。官方phpMyAdmin文档(应包含在您的安装中)和上也对这些进行了描述
如果您的用户有权更改设置,您可以在phpMyAdmin中的“设置”和“功能”选项卡下更改当前会话的设置。要永久更改这些设置,您需要进行编辑。它的位置取决于phpMyAdmin在您的系统上的安装位置。这里有一些东西对我帮助很大。实际上我是在使用MySQL工作台
简单地说,它说如果MySQL有一个帐户,并且您无法使用您的用户登录,那么您将以匿名用户的身份登录,而不另行通知。要了解这一点,您可以执行以下操作:
SELECT * FROM mysql.user WHERE user='wade';
SELECT * FROM mysql.db WHERE user='wade';
原因如下:
需要注意的一点是selectuser()代码>显示您的
当前用户名和主机。另一个命令,选择当前用户()代码>
显示您的身份验证
实际上,在我的例子中,user()
是mylogin@localhost
,当前用户()
是@localhost
(另一个用户)。我昨天也遇到了同样的问题。我将数据文件HD交换到另一台MySQL服务器上(所有内容的版本都相同,全新副本,安装与预防性维护相同的密码)。有两个根访问权限,但我猜它们是不同的机器和MySQL启动时创建的密码哈希。当我列出文件时,两台服务器中的所有文件都完好无损,但是phpmyadmin看不到数据库(只是信息模式),即使使用MySQL thru shell也不可用,但是文件位于正确的位置
当检查不属于root的文件的所有权时,所有者是“nobody”,因此我使用chown root:root*
因此,如果您认为只需通过交换HDs来替换数据,并在两个位置都使用root访问,那么您将很高兴成为露营者。但不要这么快,您可能需要检查这些文件的个人和所有权,以便能够在PHPMYADMIN中列出它们
在这个过程之后,重启后一切正常。@Webnet-确保您运行了刷新权限
良好的调用-尽管我这样做了,并以wade身份登录,但除了信息模式
之外,我仍然看不到任何其他数据库。好的,您的数据库在哪里?它和phpmyadmin一样吗?本地主机可能是原因当我以自己(全局访问)身份登录时,我可以看到所有数据库。所以我不明白你的问题。。。。它们都在同一台计算机上,并且都显示在phpMyAdmin中。只有从本地主机连接时,才能使用“wade”@“localhost”帐户。“wade”@“%”帐户对主机部件使用“%”通配符,因此它可以用于从任何主机进行连接。SELECT user()
returnswade@localhost
您从命令行和phpmyadmin获得了相同的SELECT USER(),但只能从命令行查看数据库?Hmmm。。。。也许你正在使用非phpmyadmin方法连接到另一个盒子?它肯定是同一个盒子,这是我唯一的盒子
SELECT user(), current_user();