mysql加密连接报错处理记录
一、目前mysql的版本更新的特别快了,那么我们在使用的时候出现navicat连接异常的问题了,原因是因为navicat版本过低导致的。
具体是因为:mysql8.0.4为了更安全的连接,默认从mysql_native_password改成了caching_sha2_password了。所以导致很多连接工具连接失败了。
这样改的目的是加密算法的改变意味着安全。
二、解决办法有两个
1)更新navicat的包,可以解决这个问题。
2)修改默认加密方式,通过docker部署mysql举例
version: '3' services: xbd-mysql: image: mysql:8.0.19 restart: always container_name: xbd-mysql environment: - TZ=Asia/Shanghai - MYSQL_ROOT_PASSWORD=root volumes: - /var/lib/mysql:/var/lib/mysql ports: - 3306:3306 privileged: true command: ['--lower_case_table_names=1', '--character-set-server=utf8', '--collation-server=utf8_general_ci', '--default_authentication_plugin=mysql_native_password', '--sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION']
这种方式默认启动有效,如果存在用户数据,需要手动修改
myql.user中plugin类型为mysql_native_password。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!