针对 MYSQL ERROR 1045 (28000): Access denied for user (using password: YES) 问题的解决,我们可以采取以下步骤:
步骤一:确认用户名和密码是否正确
首先,我们需要确认输入的用户名和密码是否正确。可以通过以下方式检查:
- 在终端输入命令:
mysql -u [username] -p
,回车之后输入密码。 - 如果成功进入 MYSQL 控制台,则说明用户名和密码正确。如果不成功,则说明用户名或密码输入错误。
请注意,这里的 [username] 要替换成你的 MYSQL 用户名,密码会在输入命令后提示你输入。
步骤二:检查授权
如果用户名和密码正确,那么就有可能是授权的问题。请通过以下方式检查:
- 在终端输入命令:
mysql -u [username] -p
,回车之后输入密码,进入 MYSQL 控制台。 - 输入命令:
use mysql;
,进入 mysql 数据库。 - 输入命令:
select user,host from user;
,查看现有的用户和主机。 - 如果发现现有的用户和主机设置不正确,可以通过以下命令进行修改:
update user set host='localhost' where user='root';
flush privileges;
请注意,这里的“root”是 MYSQL 用户名,可以替换为其他用户名。
示例一:修改用户主机
假设我们的 MYSQL 用户名是 root,现在我们输入以下命令登录 MYSQL:
mysql -u root -p
结果出现了 ERROR 1045 (28000) 错误提示。这说明我们的用户名和密码是正确的,但是可能是主机设置不正确。
我们可以通过以下步骤修改用户主机:
- 在终端输入命令:
mysql -u [username] -p
,回车之后输入密码,进入 MYSQL 控制台。 - 输入命令:
use mysql;
,进入 mysql 数据库。 - 输入命令:
select user,host from user;
,查看现有的用户和主机。 - 发现 root 用户的主机不是 localhost,需要进行修改。
我们可以通过以下命令修改用户主机:
update user set host='localhost' where user='root';
flush privileges;
执行完毕后,再次登录 MYSQL,问题就可能得到解决。
示例二:重置 root 用户密码
假设我们的 MYSQL 用户名是 root,现在我们忘记了 root 用户密码,并且输入以下命令登录 MYSQL:
mysql -u root -p
结果出现了 ERROR 1045 (28000) 错误提示。这说明我们的用户名和密码是不正确的。
我们可以通过以下步骤重置 root 用户密码:
-
停止 MYSQL 服务。根据操作系统的不同,可以使用以下命令:
-
Ubuntu 系统:
sudo service mysql stop
-
CentOS 系统:
sudo systemctl stop mysqld
-
启动 MYSQL 服务,并跳过身份验证:
-
Ubuntu 系统:
sudo mysqld_safe --skip-grant-tables &
-
CentOS 系统:
sudo mysqld_safe --skip-grant-tables &
-
现在你可以以 root 身份登录 MYSQL 了:
mysql -u root
- 执行以下命令,重置 root 用户密码(请根据实际需要修改密码):
use mysql;
update user set authentication_string=password('newpassword') where user='root';
flush privileges;
-
退出 MYSQL 控制台,并重启 MYSQL 服务:
-
Ubuntu 系统:
sudo service mysql start
-
CentOS 系统:
sudo systemctl start mysqld
-
现在你可以以 root 用户名和新密码登录 MYSQL 了:
mysql -u root -p
以上就是针对 MYSQL ERROR 1045 (28000): Access denied for user (using password: YES) 问题的解决方案,希望能对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MYSQL ERROR 1045 (28000): Access denied for user (using password: YES)问题的解决 - Python技术站