我目前已经在数字海洋中使用LAMP堆栈为我的应用程序设置了一个临时区域。我的应用程序的框架是Laravel 5.5和Vue 2x。
在开发过程中,我一直在使用远程MySQL,没有遇到连接错误的问题。但是,当我将它移到staging env时,它给出了访问被拒绝的错误。当我仔细查看错误日志时,访问被拒绝是针对username@digital-ocean-droplet-ip的,而我已经在laravel的配置/数据库文件下正确地配置了远程主机IP的MySQL凭据。
因此,我怀疑我是否必须在Apache下进行任何配置才能允许任何外部MySQL连接?我忘记了cmd,但我确实允许sfw防火墙允许到Apache中远程服务器IP地址的任何端口3306。
任何帮助都是非常感谢的。
谢谢!
发布于 2018-10-25 00:35:33
默认情况下,MySQL不会创建具有远程连接访问权限的用户。
首先,您需要在允许从外部(%)或特定IP进行连接的数据库上创建一个用户
CREATE USER 'newuser'@'%' IDENTIFIED BY 'password';也不愿给他特权
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%';*s可以分别替换为您的数据库名和表名
您还可以检查mysql configuration(/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文件中更新用户和密码,然后重试!
https://stackoverflow.com/questions/52971543
复制相似问题