我是XAMPP MySQL和PHPMyAdmin的新手。这两个平台上的数据库应该相同。但是,类似于MySQL and PHPMyAdmin matching problem
中显示的问题我发现SELECT @@hostname
在XAMPP MySQL和PHPMyAdmin上具有相同的结果。但是,在XAMPP MySQL上运行SHOW databases
的结果是
* information_schema | mysql | 人 performance_schema | phpmyadmin | 测试 *
而在PHPMyAdmin上运行SHOW databases
的结果是
* information_schema | 测试 *
顺便说一句,我在Windows 10 PowerShell上运行XAMPP MySQL。评论和想法受到赞赏。
答案 0 :(得分:0)
可能是通过phpMyAdmin连接时,您正在以匿名用户身份验证MySQL。大多数MySQL安装程序都带有一个匿名用户,该用户根本没有很多特权,但是可以连接并查看您引用的数据库。
这可能是因为您使用了不同的用户名和密码,或者是因为这两种方法都使用了不同的连接类型-到MySQL,通过TCP / IP网络的连接将以具有主机“%”的用户身份进行验证(或特定的IP地址)。套接字连接对“ localhost”主机进行身份验证。使用主机名127.0.0.1(或任何IP地址/主机名)会强制建立TCP / IP连接;连接到“ localhost”会强制进行套接字连接。
因此,这里可能发生的事情是您使用的是phpMyAdmin默认连接类型为localhost,并告诉命令行客户端连接到127.0.0.1,但是您只为主机'127.0.0.1'设置了用户(要么 '%')。您可以编辑phpMyAdmin配置,以告诉它连接到127.0.0.1,或者复制user@127.0.0.1并为新用户提供主机“ localhost”。如果这是原因,那么任何一个都应该再次吸引您。