PHP尝试连接到本地mysql数据库而不是指定远程地址

时间:2016-07-08 17:29:43

标签: php mysql database apache centos6

我正在尝试连接到远程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中

1 个答案:

答案 0 :(得分:0)

我能够通过禁用selinux来实现它。这适合我的测试情况但是对于生产来说,实际配置selinux以允许PHP连接到MySQL可能会更好。