避免MySQL1044错误

时间:2012-04-23 21:04:23

标签: mysql mysql-error-1044

我正在尝试学习PHP和MySQL,当我到达有关MySQL的章节时,我被要求使用此命令创建数据库:

CREATE DATABASE publications;

我在mysql控制台中输入后出现此错误:

  

ERROR 1044(42000):拒绝用户''@ localhost'访问数据库'root'

我已经登录到我的管理员帐户,所以我认为权限不应该是问题。我已经安装了XAMPP包。

如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

您可能升级了EasyPHP版本,或者做了一些禁用root密码的操作。如果是这种情况,您应该尝试重新建立root用户密码。有同样的问题,这就是我解决它的方法。

答案 1 :(得分:0)

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

然后我建议你使用phpMyAdmin来试验MySQL(它应该在http://localhost/phpmyadmin/

答案 2 :(得分:0)

这有点困惑 - 让我试着回答这个问题。

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

mysql -u username -ppassword databasename

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

因此,键入以上行以调用mysql的命令行界面。然后你可以输入你的mysql命令。 show tablesdesc tablename等内容可行。这是他们将工作除非您有身份验证问题。但是你会知道你有一个身份验证问题,因为当你试图像上面那样运行mysql时,它会失败并出现一些错误,例如“访问被拒绝用户'abc'@'localhost'(使用密码:YES)” 。这是一个很好的描述性错误消息,可以准确指出问题所在。

这有帮助吗?

通过使用命令行检查确定您知道正确的参数后,您可以返回使用xampp或其他任何内容。 (当发生异常时,请务必使用命令行检查 - 这比尝试通过其他接口调试要容易得多。)