连接远程数据库拒绝访问

项目配置连接本地数据库正常,为什么连接远程数据库总是报Access denied for user 'admin'

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

@freeRqn 是密码里面有特殊字符,然后你又写在.env文件里面,导致没有读取到密码是吗?我之前也遇到这个问题,好像env文件是可以加双引号的。HOST="abcde!!" 这样吧

4年前 评论
讨论数量: 15

用户是不是没给远程连接的权限

4年前 评论

是navicate连接吗? ssh 和常规 都需要填写

4年前 评论

@轻描淡写 远程mysql是允许远程连接的,就是我用我本机的mysql的管理工具workbench是可以正常连接使用的,但是通过laravel程序配置的,程序上却报出拒绝访问。

file

4年前 评论

@gyp719 不是,是laravel项目,连接本地mysql正常,但是连接远程mysql,总是访问被拒绝

4年前 评论
gyp719 4年前

本地连接 线上数据库,操作线上数据库
进入mysql 命令行

mysql -uroot -proot
GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY '数据库密码' WITH GRANT OPTION;

FLUSH PRIVILEGES; // 修改生效

第二种 在 mysql.conf. #bind-address = 127.0.0.1 屏蔽

4年前 评论

先试试这两句

update user set host = '%' where user = 'admin';
flush privileges;
4年前 评论

@gyp719 命令和客户端是可以访问的 就是代码连不上,我想着laravel这么强大的框架应该不会有连接远程mysql的问题啊

4年前 评论
gyp719 4年前

@28youth 已经做设置了,

file

4年前 评论

是项目放到服务器上链接数据库连不上?
看报错应该是你DB_HOST写的服务器IP,应该写localhost

4年前 评论

@mirrorpen 是这样的,我用项目连接我的本地mysql没有问题,但是连接远程mysq有问题;就是DB_HOSt=localhost和127.0.0.1都没问题,但是我要连接远程的mysql,另外补充一句这个远程数据库是用的阿里云的RDS数据库

4年前 评论
xianyunyehe

清下缓存试试呢

4年前 评论

@freeRqn 阿里云那边是否开了白名单允许你服务器IP访问这个数据库 ,记得以前用过好像要开白名单

4年前 评论

感谢各位,已解决,因为用的阿里云的RDS库,是用户密码设置的问题,因为密码设置了些许特殊字符的问题;
可参看:https://help.aliyun.com/knowledge_detail/9...

4年前 评论

@freeRqn 是密码里面有特殊字符,然后你又写在.env文件里面,导致没有读取到密码是吗?我之前也遇到这个问题,好像env文件是可以加双引号的。HOST="abcde!!" 这样吧

4年前 评论

@轻描淡写 说的对呀,就是这回事啊。哈哈哈

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!