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 失败,原因是密码错误。
以下是一些可能的解决方案:
- 检查 root 用户的密码是否正确。
- 确保 root 用户有权访问 MySQL 服务器。
- 如果您使用的是 MySQL 8.0 或更高版本,请确保您已启用密码验证。
- 如果您使用的是 MySQL 8.0 或更高版本,请确保您已正确设置 validate_password 变量。
以下是检查 root 用户密码的步骤:
- 使用 SELECT CURRENT_PASSWORD() 命令查看 root 用户的当前密码。
- 将当前密码与您尝试登录的密码进行比较。
- 如果密码不匹配,请使用 SET PASSWORD FOR 'root'@'localhost' = 'new_password' 命令重置 root 用户的密码。
以下是检查 root 用户是否有权访问 MySQL 服务器的步骤:
- 使用 SELECT User,Host FROM mysql.user WHERE User = 'root' 命令查看 root 用户的权限。
- 确保 root 用户有权访问 localhost 主机。
- 如果 root 用户没有权访问 localhost 主机,请使用 GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION; 命令授予 root 用户对 localhost 主机的所有权限。
以下是启用密码验证的步骤:
- 编辑 MySQL 配置文件 /etc/mysql/my.cnf。
- 将 validate_password=OFF 更改为 validate_password=ON。
- 保存并关闭配置文件。
- 重启 MySQL 服务器。
以下是设置 validate_password 变量的步骤:
- 编辑 MySQL 配置文件 /etc/mysql/my.cnf。
- 添加以下行:
validate_password=1
- 保存并关闭配置文件。
- 重启 MySQL 服务器。
如果您尝试了上述所有解决方案但仍然无法登录 MySQL,请联系 MySQL 技术支持。