我正在尝试连接到远程MySQL数据库。 MySQL用户可以从任何IP地址访问。我在我尝试连接的Centos 6.8 VM上拥有root权限。
是的我已经搜索了这个问题,到目前为止还没有任何效果。我是PHP的新手,所以有可能它很简单。它引用'/var/lib/mysql/mysql.sock'的路径不存在,但我觉得它不应该寻找这个套接字,因为数据库不在localhost上。我还仔细检查了我的MySQL用户是否有权限。
我的代码:index.php
<html>
<head>
<title>PHP Test</title>
</head>
<body>
<?php
$user="myUsername";
$password="myPW";
$database="myDB";
mysql_connect('xxx.x.xx.xx:xxxx',$user,$password);
@mysql_select_db($database) or die( mysql_error());
$query="SELECT * from myTable";
mysql_query($query);
mysql_close();
?>
</body>
</html>
我在页面上打印的错误:
无法通过套接字连接到本地MySQL服务器 '/var/lib/mysql/mysql.sock'(2)
我在httpd / logs / error_log中得到的错误:
[Fri Jul 08 06:26:54 2016] [错误] [client xxx.x.x.xxx] PHP警告: mysql_connect():无法连接到'xxx.x.xx.xx'上的MySQL服务器(13) 在第10行的/var/www/html/index.php中
答案 0 :(得分:0)
我能够通过禁用selinux来实现它。这适合我的测试情况但是对于生产来说,实际配置selinux以允许PHP连接到MySQL可能会更好。