mysql_connect(): No such file or directory

17 浏览
0 Comments

mysql_connect(): No such file or directory

我刚刚在一台旧的RedHat7上安装了MySQL服务器(版本3.23.58)。由于依赖关系,我无法安装更高版本的MySQL。我也无法在这台RedHat服务器上更新库。

然而,我在使用PHP连接数据库时遇到了问题。起初我使用了PDO,但我意识到PDO与MySQL 3.23不兼容...

所以我使用了mysql_connect()。现在我遇到了以下错误:

警告:mysql_connect():/user/local/apache/htdocs/php/database.php第9行找不到文件或目录
错误:找不到文件或目录

我的代码是:

$host = 'localhost';
$user = 'root';
$password = '';
$database = 'test';
$db = mysql_connect($host, $user, $password) or die('错误:' . mysql_error());
mysql_select_db($database);

我检查了两次数据库是否存在,登录和密码是否正确。

这很奇怪,因为这段代码在我的Windows PC上使用Wampp时运行得很好。我无法弄清楚问题出在哪里。

有什么建议吗?

0
0 Comments

(mysql_connect(): No such file or directory)这个问题出现的原因是找不到mysql.sock文件,导致连接数据库失败。解决方法是通过指定正确的mysql.sock文件路径。

MySQL是一种常用的关系型数据库管理系统,它使用一个名为mysql.sock的文件来管理与数据库的连接。当使用mysql_connect()函数连接数据库时,会尝试寻找mysql.sock文件的位置。如果找不到该文件,就会出现(mysql_connect(): No such file or directory)这个错误。

解决这个问题的方法是在连接数据库时,通过指定正确的mysql.sock文件路径来确保能够找到它。以下是一个示例代码:

$db = mysql_connect('localhost:/var/lib/mysql/mysql.sock', 'Username', 'Password');

在这个示例中,mysql_connect()函数的第一个参数是指定mysql.sock文件路径的部分。这里的路径是/var/lib/mysql/mysql.sock,根据实际情况可能会有所不同。

通过指定正确的mysql.sock文件路径,可以解决(mysql_connect(): No such file or directory)这个错误,确保成功连接到MySQL数据库。

0
0 Comments

在MAC OSX上,出现(mysql_connect(): No such file or directory)的问题可能的原因是mysql服务器未启动或无法找到mysql文件。解决方法是重新启动mysql服务器。

可以通过以下命令重新启动mysql服务器:

sudo /usr/local/mysql/support-files/mysql.server restart

这个方法已经在我的电脑上成功解决了该问题。

0
0 Comments

问题:mysql_connect(): No such file or directory

原因:由于socket文件路径错误导致连接失败。可能是因为旧版本的RH操作系统存在此问题,socket文件的路径可能为/var/mysql/mysql.sock或/tmp/mysql.sock,但是某个或多个应用程序正在寻找另一个路径。

解决方法1:

如果路径为/tmp/mysql.sock但是没有/var/mysql/mysql.sock,则执行以下命令:

cd /var
mkdir mysql
cd mysql
ln -s /tmp/mysql.sock mysql.sock

解决方法2:

如果路径为/var/mysql/mysql.sock但是没有/tmp/mysql.sock,则执行以下命令:

cd /tmp
ln -s /var/mysql/mysql.sock mysql.sock

解决方法3(更简单):

创建一个文件并调用phpinfo()函数,查找'mysql.default_socket'或'pdo_mysql.default_socket',在My.ini或My.cnf文件中查找socket值(例如socket=/tmp/mysql.sock),打开php.ini文件,将所有错误socket路径的出现位置更改为MySQL的正确socket路径。

解决方法4(最简单):

对于PDO的DSN:

mysql:unix_socket=/tmp/mysql.sock;dbname=...

对于mysql_connect函数:

$db = mysql_connect('localhost:/tmp/mysql.sock', ...

更新:

PHP 5无法连接到低于4.1版本的MySQL数据库。MySQL从4.1版本开始使用了新的密码哈希方式,与4.1之前的数据库不兼容。您的配置连接的服务器版本为3.23,因此您需要升级到更高版本的MySQL。

注意:如果您托管了敏感数据,由于系统安全性问题,建议升级到最新版本。

备注:以上内容为网友在讨论中提供的解决方法和讨论过程,供参考。

0