2012-04-23 112 views
0

我想学习PHP和MySQL,虽然我在MySQL到达章节有人问我使用这个命令来创建数据库:避免MySQL1044错误

CREATE DATABASE publications; 

后,我在mysql控制台我键入它这个错误:

ERROR 1044(42000):Access denied for user ''@localhost' to database 'root'

我已经登录到我的管理员帐户,所以我觉得特权should't是一个疑难问题已安装了XAMPP包。

这怎么解决?

+0

你可以发布你的PHP代码? – Tibor 2012-04-23 21:06:07

+0

没有PHP代码我使用mysql命令行来做到这一点它是在书“学习PHP,MySql和Javascript的罗宾尼克松 – user1146440 2012-04-23 21:12:42

回答

0

转到http://localhost/xampp/并设置适当的密码(在“安全”选项卡中)。如果您使用mysql客户端程序,请确保使用适当的凭据调用它:mysql -u <username> -p <password>。在创建一些新帐户之前,用户名主要是root

那我建议你使用phpMyAdmin了与MySQL试验(应该是在http://localhost/phpmyadmin/

+0

”中所说的我已经尝试打字完全是你说的,现在我正在创建一个错误1064 – user1146440 2012-04-23 21:35:25

+0

既然你说BluesRockAddict的答案是一样的,你应该解释你到底在做什么。 – Tibor 2012-04-23 21:39:35

+0

我已经尝试在mysql -u root -p pass,mysql -u root,mysqladmin -u root -p pass中输入mysql -u -p ,mysqladmin -u root password [mypassword]与我的用户和通行证一起写信,我总是得到 - >如果我输入';' II得到错误1064语法错误的东西 – user1146440 2012-04-23 21:44:38

0

这是越来越有点困惑 - 让我尝试回答这个问题。

Mysqladmin是一个用于管理你的mysql数据库系统的命令行客户端 - 你通常不需要在你有mysql工作时运行它。到mysql服务器的shell命令行界面是mysql。 (如果你不知道如何运行shell命令行,这是另一个问题,另外,如果你使用的是Windows,所以说,因为这有其自身的挑战。)的参数为:

mysql -u username -ppassword databasename 

如果您在与mysql相同的服务器上运行此命令。注意-p之后缺少空格,这很重要。

因此,键入上面的行来调用mysql的命令行界面。然后你可以输入你的mysql命令。诸如show tables,desc tablename等等,都可以使用。这是他们将工作,除非你有一个身份验证问题。但是你会知道你有一个身份验证问题,因为当你试图运行mysql时,它会失败并出现一些错误,例如“拒绝用户访问'abc'@'localhost'(使用password:YES)”。这是一个很好的描述性错误信息,它指出了问题的确切位置。

这有帮助吗?

您可以回到使用xampp或其他任何东西,只要您通过检查命令行确定您知道正确的参数。 (当发生奇怪时总是检查命令行 - 这比试图通过其他接口进行调试要容易得多。)

1

您可能升级了EasyPHP的版本,或者您执行了某些操作来禁用root密码。如果是这样的话,你应该尝试为root重新建立一个密码。有同样的问题,这就是我解决它的方法。