我的laravel安装在连接到MySQL数据库时遇到了一些问题。我也在使用laravel学说。
mysql服务器位于一个单独的数字海洋小滴上。
Mysql服务器侦听非标准端口,仅绑定到本地网络接口(例如10.131.xx.xx)
mysql数据库有一个非root用户,配置了主机访问权限
mysql服务器配置了iptables,只允许webserver ip连接到绑定ip上的非标准端口
我的.env文件配置为
DB_CONNECTION=mysql
DB_DATABASE=$CORRECT_USER
DB_HOST=$CORRECT_TARGET_LOCAL_IP
DB_USERNAME=$CORRECT_DB_USR
DB_PASSWORD=$CORRECT_PASS
DB_PORT=$CORRECT_PORT
理智检查我的环境
我已尝试直接连接到mysql,如下所示
$ mysql -u $ CORRECT_DB_USR -p $ CORRECT_PASS -h $ CORRECT_TARGET_LOCAL_IP --port = $ CORRECT_PORT $ CORRECT_USER
正确连接
以及如下所示远程登录目标
$ telnet $ CORRECT_TARGET_LOCAL_IP $ CORRECT_PORT
打印
逃脱角色是'^]'。 [ 我的-OS-和VERSION1" || xgpK(iqJmysql_native_password
但是当我运行命令php artisan doctrine:schema:create
时显示以下错误
[Doctrine \ DBAL \ Exception \ ConnectionException] An 驱动程序中出现异常:SQLSTATE [HY000] [2002]连接离子 超时
[Doctrine\DBAL\Driver\PDOException] SQLSTATE[HY000] [2002]
连接超时
[PDOException] SQLSTATE[HY000] [2002] Connection timed
out
我已经将ufw.log和mysql错误日志保留在mysql服务器上,防火墙没有丢弃数据包,也没有从mysql日志中抛出错误的凭据错误
任何人都知道这可能是什么