mysql客户端与服务端学习
转自:https://www.cnblogs.com/Sungeek/p/12200546.html,https://juejin.cn/post/7119878941589897247
1.连接方式
只考虑在Linux环境下,在不同主机之间是TCP/IP连接(不同主机间的网络通信),同一主机的客户端和服务端是socket连接(同一主机的进程间通信)。
运行的Mysql客户端程序以及服务端程序其实都是操作系统上的一个进程,客户端和服务端的通信其实就是两个进程间的通信。
1.1 TCP/IP
一般情况下客户端在一台服务器上,而MySQL实例在另一台服务器上,两台机器通过一个TCP/IP网络连接。通过TCP/IP连接MySQL实例时,MySQL会先检查一张权限表,用来判断发起请求的客户端IP是否允许连接到MySQL实例。该表就是MySQL库下面的user表。
连接例子:
[root@tse2 bin]# mysql -u root -p 123456 -P 3306 -h 192.168.0.2
1.2 socket套接字
UNIX Socket连接方式其实不是一个网络协议,所以只能在MySQL客户端和数据库实例在同一台服务器上的情况下使用。连接例子:
[root@tse2 bin]# mysql -u root -p 123456 -S /mysql/tmp/mysql.sock
2.服务端处理过程
不论客户端和服务端如何通信,其实最终的效果就是客户端向服务端发送一段文本(SQL语句),服务端向客户端返回一段文本(处理结果),具体过程:
查循缓存在mysql8.0已移除该功能,维护缓存需要的成本高。
//具体介绍可参考第二个链接,就不再复制了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
2018-11-19 KL与JS散度学习[转载]
2018-11-19 PAT 1138 Postorder Traversal [比较]
2018-11-19 PAT 1031 Hello World for U[一般]
2018-11-19 PAT 1142 Maximal Clique[难]
2018-11-19 香农熵学习+例子[转载]
2018-11-19 全概率+贝叶斯[转载]