MySQL(上)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: MySQL(上)

1.MySQL数据库引擎

1.1数据库存储引擎

是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建查询更新删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。MySQL的核心就是存储引擎

1.2MySQL不同的存储引擎

MySQL 提供了多个不同的存储引擎,包括处理事务安全表的引擎和处理非事务安全表的引擎。在 MySQL 中,不需要在整个服务器中使用同一种存储引擎,针对具体的要求,可以对每一个表使用不同的存储引擎。

1.3存储的引擎有哪些

支持的存储引擎有 InnoDBMyISAMMemoryMergeArchiveCSVBLACKHOLE 等,可分别根据各个引擎的功能和特性为不同的数据库处理任务提供各自不同的适应性和灵活性。  

InnoDB是事务型存储引擎,提供了对数据库ACID事务的支持,并实现了SQL标准的四种**隔离级别**,具有行级锁定(这一点说明锁的粒度小,在写数据时,不需要锁住整个表,因此适用于**高并发**情形)及外键支持(所有数据库引擎中独一份,仅有它支持外键)该引擎的设计目标便是处理大容量数据的数据库系统,MySQL在运行时InnoDB会在内存中建立缓冲池,用于缓存数据及索引。

InnoDB是事务型数据库的首选引擎,支持事务安全表(ACID),支持行锁定和外键。**InnoDB是默认的MySQL引擎**。

1.4ACID事务

1. 原子性(Atomicity):事务是一个原子性质的操作单元,事务里面的对数据库的操作要么都执行,要么都不执行。
2. 一致性(Consistency):在事务开始之前和完成之后,数据都必须保持一致状态,必须保证数据库的完整性。也就是说,数据必须符合数据库的规则。
3. 隔离性(Isolation):一个事务的执行不能被其他事务干扰。即一个事务的内部操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。
4. 持久性(Durability):持久性也成为永久性,指一个事务一旦提交,它对数据库中数据的改变就应该是永久的。

1.5四种隔离级别

1.读未提交(Read Uncommitted):在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(Dirty Read)
2.读已提交(Read Committed):这是大多数数据库系统的默认隔离级别(但不是MySQL默认的)。它满足了隔离的简单定义:一个事务只能看见已经提交事务所做的改变。这种隔离级别也支持所谓的不可重复读(NonrepeatableRead),因为同一事务的其他实例在该实例处理其间可能会有新的commit,所以同一select可能返回不同结果
3.可重复读(Repeatable Read):这是MySQL的默认事务隔离级别,同一事务的多个实例在并发读取数据时,会看到同样的数据。不过理论上,这会导致另一个棘手的问题:幻读(Phantom Read)。简单的说,幻读指当用户读取某一范围的数据行时,另一个事务又在该范围内插入了新行,当用户再读取该范围的数据行时,会发现有新的“幻影” 行。
4.可串行化(Serializable):这是最高的隔离级别,它通过强制事务排序,使之不可能相互冲突,从而解决幻读问题。简言之,它是在每个读的数据行上加上共享锁。在这个级别,可能导致大量的超时现象和锁竞争

| 隔离级别         | 脏读   | 不可重复读 | 幻读   |

| ---------------- | ------ | ---------- | ------ |

| Read Uncommitted | 可能   | 可能       | 可能   |

| Read Committed   | 不可能 | 可能       | 可能   |

| Repeatable Read  | 不可能 | 不可能     | 可能   |

| Serializable     | 不可能 | 不可能     | 不可能 |

 

2.数据库的运用

2.1数据库的步骤

 

2.2查询当前数据库里有的用户

这里是查询当前数据库里面所有的用户

2.3创建用户

创建用户及设置密码

 

测试是否创建成功

链接成功及创建成功

 

2.4赋权

2.4收回部分权限

2.5删除用户


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3月前
|
SQL 关系型数据库 MySQL
JavaWeb基础1——MySQL
SQL语句、DDL、DML、DQL(分组查询、子查询等)、Navicat、约束、 一对多等数据库设计、多表查询(联合查询/连接查询)、事务、函数
JavaWeb基础1——MySQL
|
4月前
|
存储 关系型数据库 MySQL
MySQL1
MySQL
40 5
|
4月前
|
SQL 关系型数据库 MySQL
在 MySQL 中使用 IN
【8月更文挑战第12天】
212 0
在 MySQL 中使用 IN
|
4月前
|
SQL 监控 关系型数据库
mysql统计数据库大小
通过这些方法,数据库管理员可以有效地监控和规划MySQL数据库的存储需求,确保数据库的稳定运行。
61 2
|
Oracle 关系型数据库 MySQL
MySQL的介绍
MySQL的介绍
50 0
|
存储 Oracle NoSQL
Mysql部分详解
Mysql部分详解
67 0
|
7月前
MySql45道练习
MySql45道练习
87 0
|
SQL 算法 关系型数据库
【MySQL】 MRR
【MySQL】 MRR
135 0
|
JSON 算法 关系型数据库
MySQL 8.0.32如期而至
MySQL 8.0版本计划 MySQL 8.0开始采用快速迭代开发模式,基本上是每隔3个月就发布一个新的小版本。去年1月18日(2022.1.18)发布MySQL 8.0.28,今年1月17日发布MySQL 8.0.32,再看看其他几个版本的时间,还真是贼守时啊。
379 0
|
SQL 存储 数据可视化