SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YE

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YE相关的知识,希望对你有一定的参考价值。

thinkphp框架 遇到了这句话,怎么弄都不行,跪求各位路过的大神,给点清晰明亮的方法,帮忙解决一下。。。

SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES),是数据库错误造成的,解决方法如下:

1、首先需要更改root的权限远程的访问的权限,进行进入到自己数据库之后,进入mysql数据库中:use mysql。

2、进行执行update user set host='%' where user='root'  的命令进行执行。

3、执行了相关的命令之后,还是需要进行执行的flush privileges的命令。

4、还需要进行修改的是在etc/sysconfig/selinux进行编辑SELINUX=disabled中。

5、设置完成之后还是需要进行重启Linux,在访问之后,不再显示错误的内容。

参考技术A

如果用的是mysql数据库:

    检查数据库是否设置了密码,如果没设置进入mysql控制台使用下面的命令设置密码:

    update mysql.user set password = PASSWORD('123456') where password = '';

    flush privileges;

   2. 确保密码正确

追问

恩 我是在服务器显示上面这句代码,在本地环境上面,就没有这代码,一切正常

本回答被提问者和网友采纳
参考技术B http://域名/install
如果有install.lock,删除就好了。
如需重新安装请删除/application/data/install/install.lock文件

SQLSTATE[HY000] [2002] 权限被拒绝

【中文标题】SQLSTATE[HY000] [2002] 权限被拒绝【英文标题】:SQLSTATE[HY000] [2002] Permission denied 【发布时间】:2016-04-12 22:25:06 【问题描述】:

我收到此错误不知道原因 SQLSTATE[HY000] [2002] Permission denied 这是我尝试上传文件的网站example.com

【问题讨论】:

您必须更改/设置应用程序中的 MYSQL 数据库用户名和密码,以匹配您或您的托管公司设置的内容 请阅读What topics can I ask about和How to ask a good question和the perfect question 【参考方案1】:

这是因为 selinux 避免了从 httpd 服务器到远程 db 服务器的 db 连接。要解决这个问题,您需要通过 ssh 访问您的服务器,或者如果您有 pretencial 访问权限,则只需打开一个控制台并执行以下操作:

如果端口 80 被管理,您必须签入 SELinux。您可以通过键入# semanage port -l | grep http_port_t 来查看列表并检查:

http_port_t tcp 443, 488, 8008, 8009, 8443, 9000

如果您需要添加所需的端口,只需键入:

# semanage port -a -t http_port_t -p tcp 80

再次键入要检查的命令:

# semanage port -l | grep http_port_t

.

http_port_t tcp 80, 443, 488, 8008, 8009, 8443, 9000

然后你应该通知 SELinux 你想允许从 httpd 服务器到 db 远程服务器的网络连接,设置设置它的布尔变量:

    关闭httpd服务# service httpd stop # setsebool httpd_can_network_connect 1 # setsebool httpd_can_network_connect_db 1 上httpd服务# service httpd start

现在您的 httpd 服务应该能够从 db 服务器获取数据了。

这些更改在重新启动后不会保留。要使它们永久化,请执行以下操作:

    关闭httpd服务# service httpd stop # setsebool -P httpd_can_network_connect 1 # setsebool -P httpd_can_network_connect_db 1 上httpd服务# service httpd start

区别在于“-P”标志。

我希望这对搜索解决此类错误的帮派有用。

【讨论】:

为我工作,但重启后,这些设置将消失。您将需要使用 -P 开关(如 # setsebool -P httpd_can_network_connect 1)永久制作它们 这在 CentOS 7、Wordpress 上就像一个魅力。谢谢。【参考方案2】:

我可能迟到了回答这个问题,但对我有用的是命令。 我遇到了同样的问题,然后我运行了以下命令。

提供权限:

chmod -R 777 .(虽然不推荐)

运行安装升级命令

php bin/magento setup:ugrade

最后编译命令

php bin magento setup:di:compile

【讨论】:

【参考方案3】:

也许你需要关闭你的 selinux 就这样

setenforce 0

【讨论】:

不建议这样做。 FreeBSD 上没有 selinux,但我仍然收到此错误。 :)【参考方案4】:

进入 .env 文件并将 DB_HOST=127.0.0.1 更改为 DB_HOST=localhost

【讨论】:

这似乎是 socket / UNIX 问题,localhost 在 socket 上工作,而 127.0.0.1 在 tcp 上工作

以上是关于SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YE的主要内容,如果未能解决你的问题,请参考以下文章

SQLSTATE[HY000] [1045] 'user'@'localhost' 的访问被拒绝(使用密码:YES)

XAMPP SQLSTATE[HY000] [1045]

意外异常:SQLSTATE[HY000] [1045] 用户 ****@'localhost' 的访问被拒绝(使用密码:YES)

(“SQLSTATE [HY000] [1045] 用户'root'@'localhost'的访问被拒绝(使用密码:NO)”)

SQLSTATE[HY000] [1045] 用户'root'@'localhost'的访问被拒绝(使用密码:YES)?

SQLSTATE[HY000] [1045] 使用 Docker 拒绝用户 'root'@'172.19.0.4' 的访问