一、解决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文件,

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

保存并退出。

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

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

mysql -u root -p

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

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

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

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

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

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

OK,问题成功解决。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐