3

好的,这将是一个很长的问题。

我正在尝试在我的大学帐户上启动并运行某些东西。我们有一个 public_html 文件夹,我们可以将其用作 Web 空间来托管我们想要的任何内容。

我已经在 public_html 文件夹中安装了 Bitnami 灯堆栈(可能不是最好的主意,安全方面,但我只会测试这个应用程序几天并将其拉下来,所以我真的不在乎这么久我可以让它快速启动并运行)并且我想要托管的网站运行良好并且可以通过(http://(uni 地址)/(我的帐户名)/public_html/lamp/apache2/htdocs/(等)访问。 ). 但是,连接到数据库的代码的某些部分给了我以下警告:

Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

我正在使用以下代码连接到数据库:

mysql_connect($CFG->dbhost,$CFG->dbuser,$CFG->dbpass);

其中 dbhost 是“本地主机”。

由于它引用 /var/run/mysqld/mysqld.sock - 这显然意味着它试图连接到错误的东西,因为我安装的灯堆栈中的 mysql 在其 my.cnf 中有以下内容:

[mysqladmin]
user=root

[mysqld]
basedir=(my account folder)/public_html/lamp/mysql
datadir=(my account folder)/public_html/lamp/mysql/data
port=3306
socket=(my account folder)/public_html/lamp/mysql/tmp/mysql.sock
tmpdir=(my account folder)/public_html/lamp/mysql/tmp

[mysqld_safe]
mysqld=mysqld.bin

[client]
port=3306
socket=(my account folder)/public_html/lamp/mysql/tmp/mysql.sock

[manager]
port=3306
socket=(my account folder)/public_html/lamp/mysql/tmp/mysql.sock
pid-file=(my account folder)/public_html/lamp/mysql/tmp/manager.pid
default-mysqld-path=(my account folder)/public_html/lamp/mysql/bin/mysqld.bin

所以我的问题是,有人知道如何让它连接到正确的套接字吗?另外, var/run/mysqld/mysqld.sock 根本不存在,我显然没有创建它的权限(我根本看不到它是如何服务于我的目的的)。

从昨天开始,这一直困扰着我。任何帮助将不胜感激。

干杯!

4

1 回答 1

1

您可能必须使用mysql_connect指定 my.cnf 中定义的套接字(您应该能够在示例 #3 中看到功能示例)而不是 localhost,方法是使 $CFG->dbhost 指向套接字文件

$CFG->dbhost = ':(my account folder)/public_html/lamp/mysql/tmp/mysql.sock';
$link = mysql_connect($CFG->dbhost,$CFG->dbuser,$CFG->dbpass);

看看有没有用!

另一个建议是,您还应该确保套接字文件实际上是由您的 mysql 服务在该位置“(我的帐户文件夹)/public_html/lamp/mysql/tmp/mysql.sock”创建的


编辑:

我们只需要确认您的 mysql sock 文件的路径是有效的,并且该文件已经创建,它看起来已经创建了。

您是否还可以确认您可以从命令行手动连接到 mysql 服务器,这将是帮助诊断的另一个好步骤。

mysql --socket=<my account folder>/public_html/lamp/mysql/tmp/mysql.sock -u <username> -p

编辑2:

当您在上面的示例中替换您的帐户文件夹时,只需快速确认您使用的是文件的完整路径。

例如

/home/<username>/public_html/lamp/mysql/tmp/mysql.sock
于 2009-11-08T07:05:57.963 回答