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)
意外异常: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' 的访问