Php 通过VPS远程将laravel连接到mysql

Php 通过VPS远程将laravel连接到mysql,php,mysql,laravel,Php,Mysql,Laravel,我尝试将我的laravel项目连接到我的VPS服务器上的myslq。 我更改.env文件如下: DB_CONNECTION=mysql DB_HOST=VPSIpAddress DB_PORT=3306 DB_DATABASE=DBName DB_USERNAME=root DB_PASSWORD=Password 我通过artisan清除所有缓存,但这样会返回此错误 SQLSTATE[HY000][2002]无法建立连接,因为目标计算机主动拒绝了它。 SQL:从id=0的用户中选择*限制1

我尝试将我的laravel项目连接到我的VPS服务器上的myslq。 我更改.env文件如下:

DB_CONNECTION=mysql
DB_HOST=VPSIpAddress
DB_PORT=3306
DB_DATABASE=DBName
DB_USERNAME=root
DB_PASSWORD=Password
我通过artisan清除所有缓存,但这样会返回此错误

SQLSTATE[HY000][2002]无法建立连接,因为目标计算机主动拒绝了它。 SQL:从id=0的用户中选择*限制1


有什么帮助吗?

如果您想更改MySQL的默认行为,只在localhost 127.0.0.1上侦听,并使其可从外部网络访问。您需要编辑文件/etc/mysql/my.cnf并查找这一行bind address=127.0.0.1,使其看起来像这样:

绑定地址=127.0.0.1

此外,在创建用户帐户时,您需要指定主机或ip地址或允许所有主机%

GRANT ALL PRIVILEGES
ON database.*
TO 'user'@'yourremotehost'
IDENTIFIED BY 'newpassword';

希望能有所帮助。

@AlexBarker感谢您的评论,但不幸的是,如果您在mysql服务器上创建帐户并允许访问该IP,人们通常使用localhost。还要检查侦听所有接口的mysql配置,而不是仅侦听本地主机。此行我在/etc/mysql/my.cnf中找不到它谢谢,我在路径/etc/mysql/mysql.conf.d/mysqld.cnf中找到了它。我将bind address的值更改为0.0.0.0,并根据这个问题在mysql中创建新用户