gpt4 book ai didi

mysql - 用户 'username' 访问被拒绝 @'IP' 错误 - digitalocean

转载 作者:行者123 更新时间:2023-11-29 16:48:20 24 4
gpt4 key购买 nike

我目前已使用 LAMP 堆栈在 Digital Ocean 中为我的应用程序设置了一个暂存区域。我的应用程序的框架是 Laravel 5.5 和 Vue 2x。

在开发过程中,我一直在使用远程MySQL,并且没有出现连接错误的问题。但是,当我将其移至暂存环境时,它给了我访问被拒绝的错误。当我仔细查看错误日志时,访问被拒绝是针对 username@[digital-ocean-droplet-ip],而我已在 laravel 的配置/数据库文件下正确配置了远程主机 IP 的 MySQL 凭据。

所以,我怀疑是否必须在 Apache 下进行任何配置才能允许任何外部 MySQL 连接?我忘记了 cmd,但我确实允许 sfw 防火墙允许任何端口 3306 到 Apache 中的远程服务器 IP 地址。

感谢任何帮助。

谢谢!

最佳答案

MySQL 默认情况下不会创建具有远程连接访问权限的用户。

首先您需要在数据库上创建一个用户,允许从外部 (%) 或特定 IP 进行连接

CREATE USER 'newuser'@'%' IDENTIFIED BY 'password';

比给他特权

GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%';

The *s could be replaced by your database and table name respectively

您还可以检查您的mysql配置(在我的例子中为/etc/mysql/mysql.conf.d/mysqld.cnf)中是否未注释此行

bind-address            = 127.0.0.1

必要时更改IP

重启mysql和apache

sudo service apache2 restart
sudo service mysql restart

然后更新 .env 文件中的用户和密码,然后重试!

关于mysql - 用户 'username' 访问被拒绝 @'IP' 错误 - digitalocean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52971543/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com