我正在使用laravel 5.4
,并且在具有最新mariaDB的远程服务器ubuntu 16.04
上,
我做了几乎所有在google中列出的配置,并且我也恢复了原始状态。
我当前的问题是我无法连接到远程mariadb
。凭证绝对正确。
我更改了/etc/mysql/mariadb.conf.d/50-server.cnf
的bind-address
文件,在该文件中我给出了服务器的IP,在该IP中我可以像phpmyadmin
一样访问我的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.
。 最佳答案
检查您的AppArmor配置文件。它可能阻止了mysqld进程访问网络。$ sudo apparmor_status
确保mysqld不在任何“强制”模式下。
检查/etc/apparmor.d/中是否有mysqld配置文件$ ls /etc/apparmor.d/*mysqld*
要禁用它,请将simlink放在/etc/apparmor.d/disable/$ sudo ln -s /etc/apparmor.d/<full_name_of_mysqld_file> /etc/apparmor.d/disable/
其次是$ sudo apparmor_parser -R /etc/apparmor.d/<full_name_of_mysqld_file>
验证是否禁用了mysqld保护:$ sudo aa-status