我在这里查看了大约50个相同的问题,但是似乎没有一个问题可以解决我的问题。我无法通过php脚本远程连接到我的MySQL数据库,但是!与mysql -u admin -p -h 172.16.2.93
连接有效。
<?php
session_start();
// initializing variables
$username = "";
$email = "";
$errors = array();
$dbhost = "172.16.2.93";
$dbuser = "admin";
$dbpass = "mariadb";
$dbname = "registration";
// connect to the database
$db = mysqli_connect("$dbhost", "$dbuser", "$dbpass", "$dbname") or die(mysql_error());
当我访问脚本连接到的网站时,在/var/log/httpd/access_log
中收到以下错误:
[:error] [pid 14797] [client 172.16.2.143:55201] PHP Warning: mysqli_connect(): (HY000/2003): Can't connect to MySQL server on '172.16.2.93' (13) in /var/www/html/server.php on line 15
将bind-address
更改为bind-address=0.0.0.0
和#bind-address
关闭所有防火墙
运行命令setsebool httpd_can_network_connect=1
在/etc/selinux/config
中禁用selunix
编辑:问题似乎已解决。使用remote@%
创建用户mysql_native_password
后,我可以通过脚本访问数据库。
答案 0 :(得分:0)
请检查Mysql是否在端口3306上从客户端响应,如果它是另一个端口($ host,$ user,$ password,$ dbname,$ port,$ socket),则必须在mysqli_connect中提及该端口。
您必须缺少端口参数