无法连接到本地主机上的数据库

问题描述:

好的,我在这里有一个非常愚蠢的问题,我开始变得非常不高兴。无法连接到本地主机上的数据库

就在几分钟前,我可以在本地主机上运行我的网站,没有任何问题。它运行在与mySQL(一个Ubuntu盒子)相同的机器上的apache2中。

我改变了PHP的时区和文件上传大小限制,然后重新启动了Apache和MySQL。

现在,当我尝试从服务器上的apache运行该站点时,它不能再选择数据库。据我所知,它实际上连接到mysql没有问题,但是当我运行mysql_selectdb时,它不起作用。

如果我从我的笔记本电脑上运行这个网站,通过我的家庭网络连接到它,它的工作原理完美无瑕。

我现在真的非常沮丧,因为它在几分钟前就工作得很好。我甚至不记得更改任何mySQL设置。

有人可以帮我弄清楚这是怎么发生的,以及如何解决它?我真的需要尽快完成这项工作。

编辑:这里是我使用的连接代码:

mysql_connect($serverUrl,'xx','xxx'); 
@mysql_selectdb('mydatabase') or die(mysql_error()); 

编辑2:当我使用root用户登录,它工作得很好。据我所知,我已经给我之前使用的用户提供了root权限,但我想我可能是错的。下面是我用在MySQL中给访问命令:

GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost'; 
+1

当你试图选择你的数据库时,你有任何错误吗? – Cyclonecode 2011-12-22 09:10:48

+4

添加'或死(mysql_error());'到你的MySQL行的末尾并运行脚本。这应该指向正确的方向。 – Grexis 2011-12-22 09:10:57

+1

尝试恢复您的php.ini到以前的设置,也许发布一些代码。另外selectdb返回什么?是不是有任何错误抛出? – Viruzzo 2011-12-22 09:12:25

我使用的用户绝对不是“WWW的数据”。

我的猜测是,你正在使用的mysql_*功能建立连接前一个。这将使mySQL库使用默认的登录数据 - 在你的情况下,失败。

查看错误消息的文件名和行号,看看它被触发的位置。

+0

那么在执行命令之前是否有某种方式来等待连接? – Jimmy 2011-12-22 09:24:57

+0

@Jimmy在执行任何命令之前只需进行连接。 – 2011-12-22 09:25:50

+0

我在我的问题中添加了一些代码。这是关于事情的正确方法吗?它看起来像我的代码应该先连接。 – Jimmy 2011-12-22 09:27:28