无法使用 php 脚本连接 mysql

无法使用 php 脚本连接 mysql

我是新安装的centos6.2。

在 ssh 部分,我可以使用以下命令访问 mysql:

>mysql -u root -p
>se659;m

然后我就能看到

mysql>

我可以使用任何 mysql 命令,如:show databases;,,show columns from tableName等等。

但是当我使用php代码连接mysql时,

<?php
$handle_db = mysql_connect("localhost","root","se659;m") 
or die("can not connect Mysql Server");
?>

表明can not connect Mysql Server

我用phpinfo()我可以看到 在此处输入图片描述

我在usr/local/mysql

问题出在哪里?我感觉很困惑#_@

答案1

这里有多个变量在起作用。

  1. 您在 /usr/local/mysql 中自定义安装了 mysql。这意味着您的 mysql 套接字可能不在 PHP 期望的默认位置。要解决此问题,请确保 mysql 和 PHP 就套接字的位置达成一致。您也可以使用网络套接字。Mysql 配置可能位于 /usr/local/mysql/etc/my.cnf 中
  2. 如果您想使用网络(非本地套接字)连接,那么必须将 Mysql 配置为允许网络连接。
  3. Mysql 使用用户名和主机进行权限检查。这意味着“root@localhost”和“root@myhostname”对于 mysql 来说是不同的“用户”。两个 root 用户都必须有密码,并且具有权限才能正常工作。
  4. 您可能需要使用 mysqli_connect。MySQL 4 和 5 具有不同的密码哈希类型,这使得它们不兼容。PHP 必须使用 Mysql 期望的密码哈希。这可能可以通过 myqli_connect 解决。

相关内容