【问题标题】:MySQL and system 'root' account(s)MySQL 和系统“root”帐户
【发布时间】:2012-10-03 16:14:21
【问题描述】:

我将 RootPermitLogin 设置为“否”并使用 passwd -l 锁定了系统“root”帐户。无论如何,我认为 MySQL 'root' 帐户与系统帐户“不同”!问题是,现在如果我尝试像(例如)这样的命令:

zcat db.sql.gz | mysql -u root -p db_name

我得到:错误 1045 (28000):

拒绝用户“root”@“localhost”访问(使用密码:YES)

好的,我锁定了我的系统“root”帐户,但我之前为我的 MySQL“root”帐户设置了不同的密码!这里发生了什么事?奇怪的是,当我尝试执行这些命令时出现此错误,但 WordPress 或 SMF 等应用程序设法使用相同的 MySQL 'root' 帐户密码连接到他们的数据库..

我使用的是 Ubuntu 12.04。

【问题讨论】:

  • 像 Linux 一样,只有在绝对必要时才应该使用 root 帐户。使用该经验法则可以防止您犯下难以纠正的错误。

标签: mysql ubuntu root


【解决方案1】:

MySQL root 帐户是内部 MySQL 管理帐户。

Linux root 用户帐户完全不同,它与 MySQL 无关。

【讨论】:

  • 那么,如果为 MySQL 'root' 帐户正确设置了密码(实际上 WordPress 和 SMF 可以访问它们的数据库),为什么会出现该错误?
  • MySQL 登录需要 3 件事:1. 有效用户 2. 有效密码 3. 有效主机,这就是为什么有关于 root@localhost 的信息(不仅仅是 root)。也许您的 SMF 或 Wordpress 可以从一台主机连接,但您不能从另一台主机连接,即使用户和密码有效。还有一件事——也许 WordPress 和 SMF 有单独的 MySQL 帐户,他们没有使用 root 帐户?
  • 嗯.. 不,他们使用相同的“root”帐户并且位于同一主机中。我什至无法输入密码,因为在输入密码之前我收到了那个错误...
  • 你做错了,如果你的命令是“mysql -u root -p db_name”并且db_name不是密码。参数“-p”用于密码。对于数据库名称,您必须使用“-D”参数。命令应如下所示:“mysql -u root -p your_password -D your_database_name
  • 不,服务器应该询问密码。
猜你喜欢
  • 2010-10-13
  • 1970-01-01
  • 2010-09-19
  • 2012-10-26
  • 1970-01-01
  • 2010-12-14
  • 1970-01-01
  • 2010-10-05
  • 2018-12-19
相关资源
最近更新 更多