Mysql 8踩坑之1054(42S22):Unkown column ‘password‘ in ‘field list‘ 与1251- Client deos not support authen

之前测试都是用的mysql5.5的环境或者是使用Mariadb的环境 ,没有使用过 Mysql 8所以当环境变成Mysql 8的时候 便遇到了许多问题,为了避免以后忘记,方便随时翻找资料,这里记录一下踩坑情况。

问题1:执行sql :select user, password, host from user;查询用户密码时 提示:ERROR 1054(42S22):Unkown column 'password' in 'field list' 现象如下图所示:

问题原因:password 字段是在mysql 8以下的版本中标记mysql数据库里 user表里的密码字段,但是mysql 8的密码字段改了,改成了:authentication_string

所以当环境变成mysql 8的时候 对应的sql语句应该变成:select user, authentication_string, host from user;

 

问题2:使用navicat 工具连接 msyql 8的服务器时提示:1251- Client deos not support authentication protocal requested by server; consider upgrading MySQL client。 问题现象如下图(如果通过命令运行的mysql 客户端版本低于8 也会出现类似的提示):

 问题原因: mysql8 的密码验证机制跟之前的版本是不一样的,具体表现之一就是上文提到的 密码字段 password 与 authentication_string ,低版本的连接工具使用的密码加密协议是不符合mysql 8 要求的,因此 只需要更换客户端连接工具,使得其支持mysql 8对应的协议即可。

解决办法:可用于Mysql8 的连接工具 ,这里也提供了一个下载链接(23条消息) 适用于Mysql8的navicat工具与jdbc连接驱动-MySQL文档类资源-CSDN文库

 安装好新的连接工具按照正常连接方式连接即可。

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值