【发布时间】:2017-10-02 10:34:35
【问题描述】:
我正在使用laravel 5.4 并在远程服务器ubuntu 16.04 上使用最新的mariaDB,
我做了几乎所有在谷歌列出的配置,我也恢复到原来的状态。
我目前的问题是我无法连接到我的远程mariadb。凭证绝对没问题。
我将/etc/mysql/mariadb.conf.d/50-server.cnf 文件更改为bind-address,在那里我提供了服务器的IP,我可以访问我的phpmyadmin 的IP,如1.1.1.1/phpmyadmin。当前.env 设置为:
DB_CONNECTION=mysql
DB_HOST=1.1.1.1
DB_PORT=3306
DB_DATABASE=*******
DB_USERNAME=root
DB_PASSWORD=********
但是它抛出的错误SQLSTATE[HY000] [2002] No connection could be made because the target machine actively refused it.。
【问题讨论】:
-
您检查过 MariaDB 服务器上的防火墙配置吗?端口 3306 应该打开。还将 bind-address 更改为 0.0.0.0 以便它会侦听所有 IP 地址。不要忘记重新启动 MariaDB 服务以激活更改。
-
@ThomasSnijder 您提到的所有内容都经过审核。端口已打开,我尝试了 bind-address 0.0.0.0,仍然无法正常工作
-
您是否在 MariaDB 服务器上创建了一个允许 root 从给定 IP 地址连接的帐户?通常这样创建一个帐户:将 laravel.* 上的所有权限授予由 '
' 标识的 root@localhost;使用此根时只能从本地主机连接。 -
是的,我也创建了帐户。
-
错误信息暗示存在防火墙问题或服务未运行。因此,您应该再次检查并确保其间的任何设备都接受端口 3306 上的连接。否则我也不知道。