我正在学习AWS EC2来托管我的网站,WordPress,Laravel和自定义PHP脚本。
我创建了一个以ubuntu18.04作为操作系统的t2小实例。
然后,我阅读教程并安装了最新版本的Ngnix服务器,MySQL 8和PHP7.3。我能够配置它们,一切都很好。
然后我创建了一个新的MySQL用户和数据库。授予用户对数据库的所有权限,并通过SSH使用命令行检查数据库。一切都很好。
我在nginx中创建了一个新的服务器块,并配置了我的域,迁移了站点(WordPress)。更改了wp-config.php中的数据库用户名、密码(我创建的密码)。但是当我访问我的域时,我得到了Error establishing a database connection
我加倍检查数据库的细节和设置,一切都很好。那么为什么PHP脚本不能与数据库连接呢?我漏掉了什么?我想我不需要开3306港了?因为我的数据库主机是localhost,所以我不需要打开它,对吗?
发布于 2019-09-04 14:24:01
好的,问题似乎只发生在MySQL 8。
我通过引用- 堆栈过流的答案来解决这个问题。
基本上,在为数据库创建用户时,运行以下命令
CREATE USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';而不是这个
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';如果用户已经存在,请运行以下命令
ALTER USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';希望这能帮到别人。
https://serverfault.com/questions/981844
复制相似问题