对Ubuntu上的所有帐户拒绝MySQL访问,但PHPMyAdmin工作正常吗?

时间:2014-02-17 15:47:43

标签: php mysql ubuntu phpmyadmin

我刚刚建立了一个Ubuntu网络服务器(我是Linux的新手),经过很多问题,我终于开始设置我的网站了。但是,我无法使用IP地址或“localhost”连接到本地数据库。 PHPMyAdmin工作得很好,但即使我使用与PHPMyAdmin相同的访问细节,我也无法连接到mysql。

我正在连接以下PHP代码(在我的笔记本电脑和其他服务器上工作正常):

mysqli_connect($server, $username, $password, $database);

我创建了一个全新的帐户并获得了完整的权限,但没有运气。

如果我使用IP地址进行连接,则会收到以下错误:

Not connected : Can't connect to MySQL server on '(ip address)' (111)

如果我使用'localhost',我会收到以下错误:

Not connected : Access denied for user 'newuser'@'localhost' (using password: YES)

我100%确定密码是正确的,并且看到PHPMyAdmin工作正常,我确信MySQL服务正在运行。

任何帮助将不胜感激!

编辑:SELECT * FROM mysql.User;

localhost root *049124FA19B22B4F6343D5C6FB5E31F710CA3AF7 Y Y Y Y Y Y Y Y Y Y Y Y‌​ Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y 0 0 0 0  
ns3367936 root *049124FA19B22B4F6343D5C6FB5E31F710CA3AF7 Y Y Y Y Y Y Y Y Y Y Y Y‌​ Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y 0 0 0 0
127.0.0.1 root *049124FA19B22B4F6343D5C6FB5E31F710CA3AF7 Y Y Y Y Y Y Y Y Y Y Y Y‌​ Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y 0 0 0 0 
::1 root *049124FA19B22B4F6343D5C6FB5E31F710CA3AF7 Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y‌​ Y Y Y Y Y Y Y Y Y Y Y Y Y Y 0 0 0 0
localhost N N N N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 ‌​0 NULL 
ns3367936.ip-37-187-88.eu N N N N N N N N N N N N N N N N N N N N N N N N N N ‌​N N N 0 0 0 0 NULL 
localhost debian-sys-maint *7866534019D21D9BA648FD769CFAAD256D2F7438 Y Y Y Y Y Y‌​ Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y N 0 0 0 0 NULL 
localhost phpmyadmin *049124FA19B22B4F6343D5C6FB5E31F710CA3AF7 N N N N N N N N N‌​ N N N N N N N N N N N N N N N N N N N N 0 0 0 0 NULL     
localhost newuser *049124FA19B22B4F6343D5C6FB5E31F710CA3AF7 Y Y Y Y Y Y Y Y Y Y ‌​N Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y 0 0 0 0 NULL 

1 个答案:

答案 0 :(得分:0)

您尝试从127.0.0.1登录时收到错误,因为您尚未创建允许从127.0.0.1的IP地址访问MySQL的“newuser”帐户。

例如,请参阅“root”帐户。

“root”有4个帐号,即root@localhostroot@127.0.0.1root@::1root@ns3367936

MySQL帐户需要用户名和主机。你只有'newuser @ localhost`,你也需要newuser@127.0.0.1,如果你运行了IPV6,也可能是root @ :: 1

当然,您还可以编辑现有的“新用户”帐户并对主机进行保护,以便该用户可以从任何主机登录。

在这种情况下,我总是发现主机是一个误导性的名称,实际上它意味着用户尝试登录的位置。因此,如果您想允许“新用户”帐户从家中等远程位置登录,您还可以添加newuser@11.22.33.44帐户,假设您的家庭IP地址为11.22.33.44