首先我先碰到了这个错误,也找了网上好多方法,试了之后都不行,我就打算重新安装一遍MYSQL。
重装的过程也好麻烦,首先得把之前安装的MySQL卸载干净。
下载MySQL
在官网下载了mysql社区版安装包,如下所示
安装MySql
打开下载文件解压到指定文件目录。(我这里解压目录为D:\program\mysql-8.0.16-winx64)
打开解压后的MySql文件在根目录下创建my.ini (mysql配置文件)
my.ini文件内容如下:(建议直接复制粘贴下面文件)
这里需要将basedir 改成mysql的解压路径
#----------------------
[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
#设置mysql的安装目录
basedir=D:\program\mysql-8.0.16-winx64
#允许最大连接数
max_connections=200
#服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
#创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#--------------
找到CMD命令提示符,右键以管理员身份运行
进入mysql子目录bin
依次输入:
.\mysqld --install
(安装)
.\mysqld --initialize
(初始化)
net start mysql
(运行)
修改MySQL登录密码
重启mysql服务
cmd下进入mysql - bin目录,输入 .\mysql -u root -p
,
在D:\program\mysql-8.0.16-winx64下找到文件扩展名为.err的文件,用文本编辑器打开,找到原始密码,然后输入
修改密码
输入以下代码
ALTER user 'root'@'localhost' IDENTIFIED BY '自己的密码';
打开navicat,出现了以下错误
输入了两行语句就解决了
select host,user,plugin,authentication_string from mysql.user;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
然后navicat就恢复正常了