连接mysql报Access denied for user 'root'@'localhost'错误的解决办法

编辑mysql配置文件my.ini,在[mysqld]这个条目下加入skip-grant-tables 保存退出后重启mysql
在这里插入图片描述
重新登录mysql,mysql -uroot -p,出现 password:的时候直接回车可以进入,进入mysql之后再操作

  1. 切换数据库
mysql> use mysql; 
Database changed
  1. 给root用户设置新密码:
mysql> update user set password=password('新密码') where user='root'; 
Query OK, 1 rows affected (0.01 sec) 
Rows matched: 1 Changed: 1 Warnings: 0
  1. 刷新数据库
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)  
  1. 退出mysql:
mysql> quit; 
Bye

改好之后,再修改一下my.ini这个文件,删除或注释刚添加的skip-grant-tables,保存退出再重启mysql即可。

你可能感兴趣的:(编程使用技巧,数据库)