ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MySQL体系管理

2022-08-03 16:03:49  阅读:171  来源: 互联网

标签:体系 p123 socket 管理 mysql TCP uroot SQL MySQL


Mysql体系管理

客户端与服务端模型

C/S架构的服务

client/server

客户端

  • mysql
  • mysqladmin
  • mysqldump

mysql的连接方式

  • TCP/IP
mysql -uroot -p123 -h10.0.0.51
  • socket
mysql -uroot -p123 -S /application/mysql/tmp/mysql.sock

问题

1.mysql默认连接方式是什么?
socket		不需要经过TCP三次握手四次挥手

2.mysql -uroot -p123 
socket		什么都不加,走的是默认方式

3.mysql -uroot -p123 -hllocalhost 
socket		不是所有的-h都是TCP

4.mysql -uroot -p123 -h127.0.0.1
TCP			只要-h后面加了ip,就是TCP

# 错误写法
5.mysql -uroot -p123 -h10.0.0.61 -S /application/mysql/tmp/mysql.sock 
TCP
6.mysql -uroot -p123 -S /application/mysql/tmp/mysql.sock -h10.0.0.61 
TCP

只要加-h后面是IP地址,不管socket写在什么位置,一律TCP连接

mysql服务器构成

实例

mysql的后台进程+多个线程+预分配内存结构


mysql守护进程的程序结构

  • 连接层
1.提供两种连接方式
	- TCP
	- socket
	
2.验证用户的合法性
3.提供了一个专用的线程,接收SQL,并与SQL层进行交互
  • SQL层
1.接收连接层传递来的有权限的SQL语句
2.验证SQL语句(syntax)的语法
3.验证SQL语句的语义,执行的是查询,删除,修改...之类的操作
	- DML
	- DDL
	- DCL
	- DQL
	- DTL
4.解析器,解析SQL语句,生成多种执行计划
5.优化器,根据解析器生成的多种执行计划,选择最优的执行
6.执行器,执行最优的一条SQL语句
	- 提供一个专用的线程,和存储引擎交互
7.接收存储引擎返回的数据,将数据返回给连接层
8.如果前面有缓存,将数据写入缓存
9.如果开启binlog,记录日志(binlog)
  • 存储引擎层
1.接收SQL层传递来的SQL语句信息
2.去对应的库下找对应的表中数据,结构化成表的形式,返回给SQL层
3.提供了一个专用的线程和SQL层交互

mysql的结构

  • 逻辑结构

    mysql的逻辑对象;做为管理人员的操作对象

    • 元数据
      • 列(字段,列名)
      • 其他属性(数据类型,是否非空、默认值、主键、自增...
      • 真实数据
    • 物理结构
      • 最底层的数据文件

mysql表结构划分

段: 有多个区构成,一张表就是一个段

区: 由多个页构成,一个区,由64个页构成,1m

(块、页)block:mysql最小的存储单位,默认16k

使用systemctl管理mysql

[root@db04 bin]# vim /usr/lib/systemd/system/mysql.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000

标签:体系,p123,socket,管理,mysql,TCP,uroot,SQL,MySQL
来源: https://www.cnblogs.com/wangchengww/p/16547471.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有