连接本地MySQL服务器时出现“连接被拒绝”错误?

6
我正在遇到这个错误:
Warning: mysql_connect(): [2002] Connection refused (trying to connect via tcp://127.0.0.1:3306)

我看到了一个类似的问题,并尝试通过将localhost更改为127.0.0.1的解决方案,但仍然无法工作。我正在使用Mac OS X Lion。任何帮助将不胜感激。
这是我用来连接的PHP代码:
<?php
    require("constants.php");
    // open database
    $connect = mysql_connect(DB_SERVER,DB_USER,DB_PASS) or die('error connecting: ' . mysql_error());
    // select database
    mysql_select_db(DB_NAME) or die('error selecting db: ' . mysql_error());
?>

1
你的数据库服务器是否真的在同一台机器上监听TCP端口3306?尝试从终端连接到mysql,明确指定主机和端口。 - Aleks G
1
你的数据库真的在运行吗?使用 ps -elf | grep mysql 进行检查。你应该会得到两个结果。 - i.am.michiel
当我检查时,我得到了以下结果:501 281 277 4006 0 31 0 2434892 540 - R + ffffff800b80e440 ttys000 0:00.00 grep mysql 1:09 下午。 - ade leye
2
您的MySQL服务器未启动。请启动它。 - i.am.michiel
@i.am.michiel,你是对的,谢谢Michaels。 - ade leye
2个回答

1

尝试确保防火墙开放端口3306的连接。

命令应该是ipfw set enable 3306,但如果您想了解更多关于实际设置防火墙权限的信息,可以阅读更多内容。

另一件事是确保MySQL正在侦听端口3306,编辑my.ini文件并设置。

[client]
port=3306

然后重新启动MySQL。


0

我以前也遇到过这个问题。您可以通过在配置文件中注释掉“skip-networking”来解决它。(my.ini或my.cnf,在Linux上是/etc/mysql/my.cnf,关于Mac不确定)

-- 编辑
此外,您可以尝试在终端中键入“netstat”,以确保mysql在其中列出(应该类似于127.0.0.1:mysql或127.0.0.1:3306)。如果没有列出,MySQL要么没有启动,要么无法绑定。


我输入了netstat,列表中最接近的是tcp4 0 0 localhost.49153 localhost.1023 ESTABLISHED和tcp4 0 0 localhost.1023 localhost.49153 ESTABLISHED。 - ade leye

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接