课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
mysql数据库架构开发是每一位软件开发程序员都应该熟练掌握的一个编程技术,下面我们就通过案例分析来了解一下,MySQL数据库架构需要掌握哪些方法。
1.企业管理服务和工具
系统管理和控制工具,例如MySQL备份恢复、MySQL复制、MySQL集群等工具。
2.连接池
负责监听对客户端向MySQLServer端的各种请求,建立连接、权限校验、维持和管理连接,通信方式是半双工模式,数据可以双向传输,但不能同时传输。
单工:数据单向发送。
半双工:数据双向传输,但不能同时传输。
全双工:数据双向传输,可以同时传输。
那么MySQL是怎么保存连接得嘞?
每个成功连接MySQLServer的客户端请求都会创建或分配一个线程,在内存中分配一块空间存储对应的会话信息,其中包含权限等信息,该线程负责客户端与MySQLServer端的通信,接收客户端发送的命令,传递服务端的结果信息等。
用户的权限表在系统表空间的mysql库中的user表中,这就意味着,一个用户成功建立连接后,即使你用管理员账号对这个用户的权限做了修改,也不会影响已经存在连接的权限。修改完成后,只有再新建的连接才会使用新的权限设置。
3.SQL接口
负责接收用户SQL命令,如DML,DDL和存储过程等,并将命令发送到其他部分,并接收其他部分返回的结果数据,将结果数据返回给客户端。
关于这个组件小二也有点懵,那么具体分发到哪些组件上面去了,翻了很多资料基本就是一句话解释的,以后翻翻高性能MySQL看看有详细描述没~
4.查询缓存
先需要说明:在MySQL8.0中已经删除了查询缓存,MySQL5.7中仍然存在查询缓存。
如果开启了MySQL缓存的话,成功获取一个MySQL连接后,会先到查询缓存看看,之前是不是执行过这条语句。
如果之前执行过,那么这条语句及其结果可能会以key-value对的形式,被直接缓存在内存中。key是查询的语句,value是查询的结果。如果查询能够直接在这个缓存中找到key,那么这个value就会被直接返回给客户端。
如果语句不在查询缓存中,就会继续后面的执行阶段,通过存储引擎去查询。执行完成后,执行结果会被存入查询缓存中。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。