Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ubuntu上所有帐户的MySQL访问被拒绝,但PHPMyAdmin工作正常吗?_Php_Mysql_Ubuntu_Phpmyadmin - Fatal编程技术网

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

Ubuntu上所有帐户的MySQL访问被拒绝,但PHPMyAdmin工作正常吗?,php,mysql,ubuntu,phpmyadmin,Php,Mysql,Ubuntu,Phpmyadmin,我刚刚建立了一个Ubuntu web服务器,我是Linux新手,在经历了许多问题之后,我终于有时间建立我的网站了。但是,我无法使用IP地址或“localhost”连接到本地数据库。PHPMyAdmin工作非常好,但即使使用与PHPMyAdmin相同的访问详细信息,我也无法连接到mysql 我正在连接以下PHP代码,这些代码在我的笔记本电脑和其他服务器上运行良好: mysqli_connect($server, $username, $password, $database); 我已经创建了一个

我刚刚建立了一个Ubuntu web服务器,我是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)
Not connected : Access denied for user 'newuser'@'localhost' (using password: YES)
如果使用“localhost”,则会出现以下错误:

Not connected : Can't connect to MySQL server on '(ip address)' (111)
Not connected : Access denied for user 'newuser'@'localhost' (using password: YES)
我100%确信密码是正确的,鉴于PHPMyAdmin工作正常,我确信MySQL服务正在运行

任何帮助都将不胜感激

编辑:从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 

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

例如,查看您的“根”帐户

“root”有4个帐户,即。root@localhost, root@127.0.0.1,根@::1和root@ns3367936.

MySQL帐户需要用户名和主机。你只有newuser@localhost`你需要newuser@127.0.0.1同样,如果运行IPV6,也可以使用root@::1

当然,您还可以编辑现有的“newuser”帐户并向主机发送wilcard,以便该用户可以从任何主机登录


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

请从mysql.User运行SELECT*;在phpmyadmin中粘贴输出。phpmyadmin使用本地主机。除非使用SSH/SSL,否则您是否有标记为通常通过IP访问的用户帐户?我通过停止mysql服务sudo service mysql stop并像下面的sudo mysqld\u safe-skip\u grant-tables一样再次启动mysql服务,成功地解决了这一问题。在安全模式下运行mysql可以吗,还是有一个永久的修复程序?datamafia,不,我想我不知道。可能重复@SOliver嗨,问题其实不是使用ip地址和本地主机之间的区别,而是它不会连接,除非我遗漏了什么!。非常感谢你的帮助。这似乎奏效了!现在去更改你刚才与我们共享的所有密码:别担心。它们都是用于测试的虚拟帐户: