📜  mysql 本地密码被拒绝 - SQL (1)

📅  最后修改于: 2023-12-03 14:44:30.187000             🧑  作者: Mango

MySQL 本地密码被拒绝 - SQL

介绍

当你在 MySQL 上尝试使用本地密码登录时,可能会遇到密码被拒绝的问题。这通常是因为密码不正确或者权限不足造成的。

密码不正确

当你输入的密码不正确时,MySQL 会拒绝你的登录请求。此时,你需要检查你输入的密码是否正确,并确保你的密码符合 MySQL 密码规范。

MySQL 密码规范要求密码必须包含大写字母、小写字母、数字和特殊字符,例如 !@#$%^&*()。密码长度至少为 8 位。

如果你忘记了密码,可以通过以下步骤重置密码:

  1. 执行以下命令停止 MySQL 服务:

    sudo systemctl stop mysql
    
  2. 以 root 用户身份启动 MySQL 服务:

    sudo mysqld_safe --skip-grant-tables &
    
  3. 连接到 MySQL 服务器:

    mysql -u root
    
  4. 执行以下命令重置密码:

    FLUSH PRIVILEGES;
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
    

    其中,new_password 是你要设置的新密码。

  5. 退出 MySQL 服务器。

  6. 重新启动 MySQL 服务:

    sudo systemctl start mysql
    
权限不足

除了密码不正确,权限不足也可能导致本地密码被拒绝的问题。如果你尝试连接 MySQL 服务器时收到权限不足的错误消息,可能是因为你没有足够的权限来访问该服务器。

在这种情况下,你需要使用具有足够权限的用户帐户来连接到 MySQL 服务器。你可以使用以下命令创建具有足够权限的用户帐户:

CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'new_password';
GRANT ALL PRIVILEGES ON *.* TO 'new_user'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

其中,new_usernew_password 分别是你要创建的新用户和密码。'GRANT ALL PRIVILEGES ON *.* TO 'new_user'@'localhost' WITH GRANT OPTION;' 语句授予该用户所有权限。

参考链接