1.原因
今天为了导出mysql文件到csv格式,一开始在my.ini设置secure_file_prive,没有成功后又下载了navicat,通过navicat成功导出。
可是在晚上通过cmd打开时发现登陆不上,并报了如标题的bug,这是navicat还是可以连上的。没办法只能上网求救。
2.最后通过改密码解决,但是改密码尝试了两种方法
2.1 尝试一,不起作用
详情参见:https://blog.csdn.net/zoucui/article/details/96996554
1.在my.ini文件中找到[mysqld],在其下面添加skip-grant-tables
,主要是为了登录不输入密码,然后进去后改密码
2.管理员打开cmd,输入net stop mysql
停止mysql服务
3.登录mysql,键入mysql –uroot –p;此时让输入密码不管他,直接回车
4.这时候我就报错了,此方法我是行不通。。。
2.2 尝试二,解决
详情参见此链接第二种方案:https://blog.csdn.net/csh1807266489/article/details/94477928
1.管理员打开cmd,输入net stop mysql
停止mysql服务
2.创建一个txt文件,里面只写一行:alter user 'root'@'localhost' identified by '新密码'
3.cmd中以命令行方式启动服务器,指定启动时执行上述的密码修改命令文件,此处我的cmd还是管理员打开的,指令为:(我把第二步创建的txt命名为reset,且放在了mysql-8.0.17-winx64这个目录下)
mysqld --init-file=F:\mysql\mysql-8.0.17-winx64\reset.txt --console
出现下面这个就成功了,图片是参考链接里的,然后把这个
4.然后再管理员打开cmd,启动服务net start mysql
,然后登陆就可以了。
2.3 如果还不行,可参考下面链接,不过没试过,我到2.2就ok了
https://blog.csdn.net/cartoon_/article/details/80344637