MySQL 登录报错:

mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

该错误表明 root 用户登录 MySQL 失败,原因是密码错误。

以下是一些可能的解决方案:

  1. 检查 root 用户的密码是否正确。
  2. 确保 root 用户有权访问 MySQL 服务器。
  3. 如果您使用的是 MySQL 8.0 或更高版本,请确保您已启用密码验证。
  4. 如果您使用的是 MySQL 8.0 或更高版本,请确保您已正确设置 validate_password 变量。

以下是检查 root 用户密码的步骤:

  1. 使用 SELECT CURRENT_PASSWORD() 命令查看 root 用户的当前密码。
  2. 将当前密码与您尝试登录的密码进行比较。
  3. 如果密码不匹配,请使用 SET PASSWORD FOR 'root'@'localhost' = 'new_password' 命令重置 root 用户的密码。

以下是检查 root 用户是否有权访问 MySQL 服务器的步骤:

  1. 使用 SELECT User,Host FROM mysql.user WHERE User = 'root' 命令查看 root 用户的权限。
  2. 确保 root 用户有权访问 localhost 主机。
  3. 如果 root 用户没有权访问 localhost 主机,请使用 GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION; 命令授予 root 用户对 localhost 主机的所有权限。

以下是启用密码验证的步骤:

  1. 编辑 MySQL 配置文件 /etc/mysql/my.cnf
  2. validate_password=OFF 更改为 validate_password=ON
  3. 保存并关闭配置文件。
  4. 重启 MySQL 服务器。

以下是设置 validate_password 变量的步骤:

  1. 编辑 MySQL 配置文件 /etc/mysql/my.cnf
  2. 添加以下行:
validate_password=1
  1. 保存并关闭配置文件。
  2. 重启 MySQL 服务器。

如果您尝试了上述所有解决方案但仍然无法登录 MySQL,请联系 MySQL 技术支持。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐