今天试了下windows下连接数据库时候发现这个错误
1.找到my.ini
一般都是在C:\ProgramData\你安装的路径
2.找到mysql的my.ini文件,在mysqld关键字下面添加skip-grant-tables,如下图所示:
保存退出
该命令作用是跳过授权表,也就是输入任意字符账号密码都可以进入mysql看到所有数据表。
当忘记账号密码时可以使用改命令修改密码,但是要随用随关,重启mysql,不然服务器上会有很大的风险。
3.右键重启
4.在命令提示符(cmd)中输入
mysql -u root mysql
5.在命令提示符(cmd)中输入:
update user set password=password("你输入的密码") where user="root";
如果有报错“ERROR 1054 (42S22): Unknown column 'password' in 'field list'”
那么就输入:
update user set authentication_string=password('你输入的密码') where user='root';
输入exit退出。
6.然后回到my.ini里把刚刚加的skip-grant-tables删了保存退出并且重启mysql
这个适用于忘了密码修改密码之类的
如果发现还连不上那就是权限的问题
就按着上边的步骤到第四步
然后接着下面的操作切换到use表
use mysql;
查看use表
select Host,User from user;
正常的权限是这样的如果不是就修改
update user set Host='localhost' where User='root';
刷新权限
flush privileges;
然后就拿着你刚刚修改的密码再去测试连接