【mysql】使用Navicat连接数据库

1 连接数据库

【mysql】使用Navicat连接数据库
【mysql】使用Navicat连接数据库
点击左下角测试一下
【mysql】使用Navicat连接数据库

提示
【mysql】使用Navicat连接数据库

输入
select host,user,plugin,authentication_string from mysql.user;
查看用户信息
【mysql】使用Navicat连接数据库

注意这里我们的密码是空的,但是Navicat不能无密码登录。

2 修改密码
使用
alert user ‘root’@‘localhost’ identified by ‘123456’;
将密码修改为123456
【mysql】使用Navicat连接数据库
如果你报1064错误,注意有没有缺少空格,user后面和identified 前面要有空格。
mysql 5.7以后的password属性已经取消,所以你用带password的命令修改密码也可能会报错。

改完了以后登录Navicat,还是提示
【mysql】使用Navicat连接数据库
这就很有问题了,重新输入
select host,user,plugin,authentication_string from mysql.user;
查看一下
【mysql】使用Navicat连接数据库

可以看到这里已经显示有密码了,但是还是不能登录,有人说是因为mysql 8.0的加密方式(plugin)不一样,所以需要修改加密方式。

3 更改加密方式:
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER;
【mysql】使用Navicat连接数据库
更改密码:
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘123456’;
【mysql】使用Navicat连接数据库
刷新:
FLUSH PRIVILEGES;
【mysql】使用Navicat连接数据库
再看看加密方式:
【mysql】使用Navicat连接数据库
plugin都是一样的了。

4 再尝试连接:
【mysql】使用Navicat连接数据库
连接成功!看一下里面有什么
【mysql】使用Navicat连接数据库
随便写着玩吧
【mysql】使用Navicat连接数据库

保存,再用workbench打开,也能看到一样的内容:
【mysql】使用Navicat连接数据库