2012-06-24 68 views
4

我有此错误:无法连接到本地MySQL数据库

Warning: mysql_connect(): [2002] Connection refused (trying to connect via tcp://127.0.0.1:3306) 

我看到了类似的问题,我通过改变localhost127.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()); 
mysql_select_db(DB_NAME)or die('error selecting db: ' . mysql_error());//select database 
?> 
+1

您的数据库服务器是否真的在同一台机器上的TCP端口3306上侦听?尝试从终端连接到mysql,明确指定主机和端口 –

+1

您的数据库是否真的在运行?使用'ps -elf |进行检查grep mysql'。你应该有两个结果。 –

+0

@ i.am.michiel当我检查我有这个结果501 281 277 4006 0 31 0 2434892 540 - R + ffffff800b80e440 ttys000 0:00.00 grep mysql 1:09 pm –

回答

0

尽量确保你的防火墙是否开放连接端口3306

的命令应该是ipfw set enable 3306,但如果你想要,你可以阅读更多关于实际setting the firewall permissions

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

[client] 
port=3306 

然后重启MySQL。

0

我以前遇到过这个问题。你可以通过在配置中注释掉“skip-networking”来修复它。 (my.ini中或my.cnf中,这是/etc/mysql/my.cnf在Linux上,不知道有关Mac)

- 编辑
此外,您还可以尝试在终端键入 “netstat的”,使确保mysql在那里列出(应该是127.0.0.1:mysql或127.0.0.1:3306之类的东西)。如果没有列出,MySQL或者还没有启动,或者无法绑定。

+0

我输入netstat和最接近的我在列表中是tcp4 0 0 localhost.49153 localhost.1023 ESTABLISHED tcp4 0 0 localhost.1023 localhost.49153 ESTABLISHED –

+0

没关系,我看到你还没有启动MySQL。 –