【问题标题】:MYSQL error: 1045 (28000): Access denied for user 'root'@'localhost'MYSQL 错误:1045 (28000): 用户'root'@'localhost' 的访问被拒绝
【发布时间】:2025-12-24 08:10:06
【问题描述】:

当我尝试连接到 sql server 并在命令提示符中输入以下内容时:

shell> mysql --user=username--password=password db_name

我得到错误:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (使用密码: Y ES)

这个错误是什么意思?

【问题讨论】:

标签: mysql access-denied


【解决方案1】:

在 Windows 上 -

  1. 搜索服务
  2. 停止名为 MySQL[#] 的服务(在我的例子中是 MySQL80)。
  3. 再次启动服务。
  4. 打开命令提示符并输入:

    mysql [数据库名] -u [用户名] -p

当没有其他解决方案有效时,它对我有用。希望这也能解决您的问题。

【讨论】:

    【解决方案2】:

    用户名和 --password 之间似乎缺少空格


    如果您不知道 root 密码,使用 Debian 或 Ubuntu,有一个简单的方法来重置它: 首先,使用

    获取服务器的确切版本
    sudo dpkg --get-selections | grep 'mysql-server-'
    

    然后,只需使用 sudo dpkg-reconfigure mysql-server-5.x

    (顺便说一句,用你的真实版本号替换 5.x)


    在全新安装时,默认的 root 密码为空,所以应该可以使用登录

    mysql -u root
    

    你显然应该在安装后添加一个root密码

    mysqladmin -u root password [newpassword]
    

    在大多数情况下,您还应该在使用数据库之前设置权限有限的专用帐户。

    【讨论】:

    • 这对我不起作用,但我投了赞成票,因为 dpkg --get-selections 命令很有用,帮助我走得更远。
    【解决方案3】:

    这意味着您的密码错误或帐户“root”无法访问主机“localhost”上的数据库。

    查看右侧栏。有多个问题与您的问题相同。

    【讨论】: