0

我正在尝试学习 PHP 和 MySQL,当我读到 MySQL 的一章时,我被要求使用以下命令创建一个数据库:

CREATE DATABASE publications;

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

错误 1044(42000):用户“@localhost”拒绝访问数据库“root”

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

如何解决?

4

3 回答 3

1

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

于 2013-04-30T03:11:12.800 回答
0

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

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

于 2012-04-23T21:18:51.010 回答
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'的访问被拒绝(使用密码:YES)”。这是一个很好的描述性错误消息,可以准确地指出问题所在。

这有帮助吗?

一旦通过检查命令行确定您知道正确的参数,您就可以返回使用 xampp 或其他任何东西。(当出现异常时,请务必使用命令行进行检查——这比尝试通过其他接口进行调试要容易得多。)

于 2012-04-23T23:14:44.717 回答