【mysql django】解决ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)

一、解决ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

场景:在django项目中,进行数据迁移的时候报错了。

原因:一般这个错误是由密码错误引起,解决的办法自然就是重置密码。

解决

(1)重置密码的第一步就是跳过MySQL的密码认证过程

找到本地安装的mysql路径下的这个my.ini文件,

【mysql django】解决ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)_第1张图片

在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程,如下图所示:

【mysql django】解决ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)_第2张图片

保存并退出。

(2)电脑的开始菜单进入“服务”,重启MySQL服务,

【mysql django】解决ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)_第3张图片

【mysql django】解决ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)_第4张图片

(3)进入cmd,免密码登陆(注:敲入 mysql -u root -p 命令然后回车,当需要输入密码时,直接按enter键,便可以不用密码登录到数据库当中),

mysql -u root -p

【mysql django】解决ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)_第5张图片

首先更新权限,然后修改新密码,quit; \q;或者exit;退出,

flush privileges;
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

【mysql django】解决ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)_第6张图片

(4)把 my.ini中添加的skip-grant-table删除,

【mysql django】解决ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)_第7张图片

重启MySQL,输入 :mysql -u root -p,输入刚设置的密码,完成登陆,

【mysql django】解决ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)_第8张图片

(5)然后,重新进行数据的迁移,

【mysql django】解决ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)_第9张图片

可以看到表结构已经迁移成功了。

【mysql django】解决ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)_第10张图片

OK,问题成功解决。

你可能感兴趣的:(#,数据库,mysql,django,sqlite)