我的编程空间,编程开发者的网络收藏夹
学习永远不晚

01.初识MySQL

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

01.初识MySQL

1. 数据库

  1. 数据:
    • 数据就是一种符号,记录人类认为有价值的东西,例如图片、视频、文字、表格等
    • 从计算机角度来看,就是二进制、16进制的文件
  2. 数据库的分类:
    1. RDBMS:关系型数据库管理系统
      • 二维表结构,有清楚的行列结构,提供丰富的查询功能,高一致性,性能较差
      • 适用数据安全要求较高的场景
    2. NOSQL:无结构化存储
      • key volume键值存储或jeon格式,性能较高
      • 适用于性能要求较高,安全性要求不是太高的场景,可配合RDBMS使用
    3. NewSQL:新式的关系型数据库管理系统,就是RDBMS+NOSQL的组合

2. 数据库产品

RDBMS NOSQL NEWSQL
MySQL(Oracle) Redis PinCAP产品: TiDB
Oracle MongoDB Ali使用:PolarDB + OB
MSSQL Memcached Tencent使用:TDSQL
PG ES

3. MySQL版本选用

  1. mysql社区版本类型
    • MR|RC:测试开发版
    • GA:稳定发布版
  2. MySQL:尽量使用双数版
    • 5.6.34 - 5.6.42
      • 5.6.36:2017-3.18 GA
    • 5.7.20 - 5.7.26
      • 5.7.20:2017-9-13 GA
  3. 产品线
    1. MySQL:
      • E:企业版
      • C:社区版
      • 5.0 5.1 5.5 5.6 5.7 8.0 9.0
    2. mariadb:
      • 5.0 5.1 5.5 10.x
    3. percona:和MySQL很相似
      • 5.0 5.1 5.5 5.6 5.7 8.0

4. Oracle MySQL 5.7.26版本二进制部署

系统的准备
#1. 网络配置
ip,hostname,iptables,Selinux

#2. 规划目录
上传软件至:/usr/local
tar xf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
ln -s mysql-5.7.26-linux-glibc2.12-x86_64/ mysql57
mkdir -p /data/mysql/data_3306      #数据路径
mkdir -p /data/mysql/binlog_3306    #binlog日志路径日志章节说明.

#3. 用户创建 
useradd mysql -s /sbin/nologin -M

#4. 授权 
chown -R mysql.mysql /usr/local/mysql57 /data

#5. 环境变量
vim /etc/profile
添加:
echo "export PATH=/usr/local/mysql57/bin:$PATH" >> /etc/profile

source /etc/profile
mysql -V

#6. 卸载残留 安装依赖
yum remove -y mariadb-libs
yum install -y libaio-devel

#7. 初始化数据库
mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql57 --datadir=/data/mysql/data_3306

#8. 配置文件
cat > /etc/my.cnf <

5. MySQL体系结构

5.1 SQL种类:

  1. DDL:数据定义
  2. DCL:数据控制
  3. DML:数据操作
  4. DQL:数据查询

5.2 MySQL工作模型

  1. CS结构,客户端服务端模型

    1. 服务端程序:mysqld
    2. 客户端程序:
      • mysql
      • mysqldump
      • mysqladmin
  2. 实例:

    • MySQL运行结构
      • mysqld --调用--> master thread --调用--> worker threads
    • MySQL内存区域
      • MySQL启动后会分配一个固定的专用内存区域

    实例 = mysqld + master thread + worker threads + 内存区域

    数据库管理系统 = 实例 + 数据

5.3 MySQL程序模型

  1. 连接层
    • TCP/IP 或 socket 连接方式
    • 验证用户账号密码
    • 连接线程,接收SQL语句,返回执行结果
  2. SQL层
    • 语法检查
    • 权限检测
    • 语义检查,识别SQL语句的类型
    • 解析器预处理,分析执行SQL语句的各种执行方式,生成解析树(执行计划)
    • 优化器,基于执行计划,挑选最小代价的方式
    • 执行器,基于优化器的选择执行SQL语句,发送给引擎进行操作
  3. 存储引擎层
    • 根据SQL层执行结果,落实到磁盘中

5.4 MySQL逻辑结构

  1. 库(database|schema):
    • 库名称
    • 库属性
  2. 表(table)
    • 表名称
    • 表属性
    • 字段(列)
    • 数据行(记录)

5.5 MySQL物理结构

  1. 库:磁盘上的一个目录
  2. 表:使用多个文件存储表的信息
    1. MyISAM引擎:
      • .frm:表结构
      • .MYD:数据行
      • .MYI:索引
    2. InnoDB引擎:
      • frm:表结构
      • ibd:数据行 + 索引

5.6 MySQL的段区页

  1. 段:一个表就是一个段,我们进行数据分配时,MySQL会在表段中至少分配一个区,也就是1M空间
  2. 区:连续的64个默认大小的页构成一个区
  3. 页:MySQL默认最小IO单元为页(默认16k,可调整),由连续的4个OSblock组成
  4. OSblock,xfs格式默认4k,也就是磁盘上连续的8个扇区
  5. 扇区:每个扇区512字节大小

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

01.初识MySQL

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

01.初识MySQL

MySQL理论1. 数据库数据:数据就是一种符号,记录人类认为有价值的东西,例如图片、视频、文字、表格等从计算机角度来看,就是二进制、16进制的文件数据库的分类:RDBMS:关系型数据库管理系统二维表结构,有清楚的行列结构,提供丰富的查询功能,高一致性,性能较
2016-05-23

day21 01 包的初识

day21 01包的初识        包:把解决一类问题的模块放在同一个文件夹里面-----包(一个包里面通常会含有_init_.py文件(python2里面必须有),但是后面的就没有要求一定要有了)       同样导入的时候有impo
2023-01-31

day24 01 初识继承

day24 01 初识继承 面向对象的三大特性:继承,多态,封装 一、继承的概念继承:是一种创建新类的方式,新建的类可以继承一个或者多个父类,父类又可称基类或超类,新建的类称为派生类或者子类class A: # 父类,基类,超类 p
2023-01-31

Python学习之路-随笔01 初识py

由于学习过其他编程语言(C/C++/java),所以记录的话除了一些差异点和遇到的问题,尽可能的简洁,以达到最佳的记录作用,方便以后的复习和形成体系。1.数字类型  包括integer,long,float,complex(复杂整数)等,统
2023-01-30
2023-09-01

初识mysql语句

mysql5.7的安装,参考centos7安装mysql-5.7.22使用root账号登陆方式一: 使用账户root,密码root登陆,注意-p后面不能有空格mysql -u root -proot方式二:mysql -u root -p输
2023-01-30

NoteOfMySQL-01-初学数据库

一、MySQL简介MySQL是一款单进程多线程、支持多用户、基于CS的关系数据库管理系统,属于开源软件(GPL协议)。MySQL分为社区版(Community Edition)和企业版(Enterprise)。MySQL命令以分号;或g或G结尾。数据库包括表、

	NoteOfMySQL-01-初学数据库
2015-04-10

初识MySQL数据库

一 、引言假设现在你已经是某大型互联网公司的高级程序员,让你写一个火车票购票系统,来hold住双十一期间全国的购票需求,你怎么写?由于在同一时段抢票的人数太多,所以你的程序不可能写在一台机器上,应该是多台机器一起分担用户的购票请求。那么问题就来了,票务信息的数
初识MySQL数据库
2021-04-15

day 26 网络知识 01

一.   c/s 架构: 客户端(client)/服务端(server)架构      服务端: 提供服务的     客户端: 享受服务的    B/S 架构:浏览器(browser)/服务端(server)软件cs架构:浏览器,qq,微信
2023-01-30

Mysql优化01

Mysql数据库的优化技术对mysql优化是一个综合性的技术,主要包括:a:表的设计合理化(符合3NF)b:添加适当索引(index)【四种:普通索引,主键索引,唯一索引unique,全文索引】c:分表技术(水平分割,垂直分割)d:读写【update/dele
Mysql优化01
2020-06-19

【MySQL系列】--初识数据库

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 ἴ
2023-08-24

01月25日【Python3 基础知识】

4.1 读写文件 4.2 文件方法 4.3 python2的乱码问题 4.4 python对passwd文件进行排序 4.1 读写文件访问 模式说 明r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。w打开一个文件
2023-01-31

01月23日【Python3 基础知识】

3.1 if/while/for 3.2 解决数学难题 3.3 Python实例 3.1 if/while/for'''#if 判断条件: 执行语句elif 判断条件: 执行语句else: 执行语句#while 判断
2023-01-31

01月26日【Python3 基础知识】

5.1 九宫格 5.2 函数入门 5.3 判断某天为某年的第几天 5.1 九宫格import randomx = 0l = [1,2,3,4,5,6,7,8,9]print("*************")while len(l) !
2023-01-31

MySQL数据库01

MySQL数据库 前言:  随着时代的进步,大数据也逐渐走进大家的生活中,成为大家密不可分的一样东西。因此,作为程序员的我们,要学习并会使用数据库。 什么是数据库?  数据库就是一个文件系统,通过标准的SQL语句获取数据 MySQL数据库又是什么呢?  MyS
MySQL数据库01
2017-07-09

编程热搜

目录