MySQL 连接错误集锦 - 长期更新
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MySQL 连接错误集锦 - 长期更新,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2182字,纯文字阅读大概需要4分钟。
内容图文
![MySQL 连接错误集锦 - 长期更新](/upload/InfoBanner/zyjiaocheng/521/20838f26db4c4160ba9a338af68ed5ac.jpg)
连接的错误无非几点:身份验证失败、没有权限访问、用户不存在(目前遇到)
关于身份验证失败:
Client does not support authentication protocol requested by server; consider upgrading MySQL client;
上方的错误提示码翻译成中文的大概意思是说:客户端不支持服务器请求的认证协议,考虑升级MySQL客户端。
那么,不妨换个思路想,有没有可能是服务器的协议与 MySQL 客户端的协议不同呢?
锁定关键字:认证协议。
继续思考下去,身份认证
是连接的首要步骤,那么即可能是身份认证
环节中出错了。
关键是,认证过程中发生了什么?我们编写的软件、服务器通过密码,或者是SSH之类的密令进行连接:是不是连接过程中密码错误了?
之后转到终端进行手动连接,我发现我可以正常进入,那么这个问题 Pass 掉
其实我对数据库的认识仅限于简单的CURD,以及事务、索引、包括数百万级的查询,但是我却没对MySQL的底层进行了解。
这意味着我得进入 MySQL 的用户表看看密码长什么样子:
然后我发现了插件字段下的关于密码的字符串
(我已经修改了后面两个,起初都是 caching_sha2_password )
其实我也不知道它们的意思,便只好去搜索引擎(bing)中查看对应的插件作用。
最后得知:MySQL 为了更安全的连接,将‘身份验证插件’升级了,且默认为 caching_sha2_password ,而大多数的服务器、软件中并没有内置相关协议。
也就导致了上方所述的错误代码了。
所以,为了兼容旧的服务器、软件的连接方式,我们可以修改关于此用户的身份验证协议。
比方:你想要让 root 用户在服务器中登录(通常不推荐这样做,只是比喻)
那么对应的修改方案如下:
# 修改身份验证插件为旧的加密方式,否则部分后台将无法连接
ALTER USER ‘root‘@‘localhost‘ IDENTIFIED WITH mysql_native_password BY ‘root‘;
# 刷新
flush privileges;
(题外话)
当然,建议创建一个用户,只具备查询权限,这意味着即使被服务器被暴力破解(我还有其它方法应对这个攻击方式),最坏的结果就是当前登录用户所连接的数据库数据泄露,不过重要字段都被加密,如手机号使用可逆加密,密码采用不可逆的加密方式;这样一来,短时间内应该可以反应过来。
# 创建新的用户 并指定使用旧的‘身份验证’
CREATE USER `test`@`localhost` IDENTIFIED WITH mysql_native_password BY ‘test‘;
MySQL 连接错误集锦 - 长期更新
标签:use 错误提示 连接错误 lte 索引 了解 root 就是 png
本文系统来源:https://www.cnblogs.com/chongsaid/p/mysql_error_connecting.html
内容总结
以上是互联网集市为您收集整理的MySQL 连接错误集锦 - 长期更新全部内容,希望文章能够帮你解决MySQL 连接错误集锦 - 长期更新所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。