我刚刚建立了一个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
答案 0 :(得分:0)
您尝试从127.0.0.1登录时收到错误,因为您尚未创建允许从127.0.0.1的IP地址访问MySQL的“newuser”帐户。
例如,请参阅“root”帐户。
“root”有4个帐号,即root@localhost
,root@127.0.0.1
,root@::1
和root@ns3367936
。
MySQL帐户需要用户名和主机。你只有'newuser @ localhost`,你也需要newuser@127.0.0.1,如果你运行了IPV6,也可能是root @ :: 1
当然,您还可以编辑现有的“新用户”帐户并对主机进行保护,以便该用户可以从任何主机登录。
在这种情况下,我总是发现主机是一个误导性的名称,实际上它意味着用户尝试登录的位置。因此,如果您想允许“新用户”帐户从家中等远程位置登录,您还可以添加newuser@11.22.33.44
帐户,假设您的家庭IP地址为11.22.33.44