文章摘要: 关系型数据库管理系统,使用结构化查询语言(SQL)进行数据库管理。
简介
简要说明
- MySQL是一个开源的关系数据库管理系统。
- 基于Structured Query Language (SQL)结构化查询语言进行数据管理。
- MySQL因其高性能、可靠性、易用性和适用性广泛而广受欢迎。
- 由Oracle公司拥有,并提供社区版和企业版。
- 存在本地的数据表文件的后缀是 “.idb” 文件。
主要功能
- 数据存储与检索:MySQL提供数据存储、更新、查询和删除等基本数据库操作。
- 事务支持:支持事务的ACID属性(原子性、一致性、隔离性、持久性),确保数据的安全性和一致性。
- 数据备份与恢复:支持多种数据备份和恢复方法,保证数据不会丢失。
- 高可用性:支持主从复制、读写分离等高可用性解决方案。
- 安全性:提供用户权限管理和访问控制,保障数据库的安全性。
- 支持多种存储引擎:例如InnoDB、MyISAM等,不同的存储引擎适用于不同的应用场景。
注意事项
- 性能优化:MySQL的性能需要根据具体应用进行优化,包括但不限于索引优化、查询优化、配置优化等。
- 数据备份:定期进行数据备份,以防止数据丢失。
- 安全性:确保数据库的安全性,包括使用强密码、定期更新补丁、限制不必要的访问等。
- 版本兼容性:在升级MySQL版本时,需要注意版本之间的兼容性问题。
- 资源分配:合理分配系统资源,如内存、CPU等,以确保MySQL运行稳定。
适用场景
- Web应用:MySQL常用于Web应用程序,尤其是那些需要处理大量数据的网站和应用。
- 内容管理系统:许多内容管理系统(CMS)如WordPress、Joomla等都支持MySQL作为后端数据库。
- 数据分析:适用于数据分析和报告系统,可以存储和分析大量数据。
- 电子商务:许多电子商务平台使用MySQL来处理交易数据。
- 移动应用:移动应用后端服务经常使用MySQL来存储用户数据和应用状态。
- 企业级应用:由于其稳定性和可扩展性,MySQL也适用于企业级应用的数据存储需求。
提示
数据库(DB)
- DataBase
- 数据库是表的集合,是存储数据的仓库。
- 将数据组织成结构化的形式组织、存储和管理起来的仓库。
- 可以方便地对数据进行查询、更新、删除等操作。
关系型数据库(RDBMS)
- 概念:建立在关系模型的基础上,由多张相互连接的二维表组成的数据库。
- 特点:使用
表存储数据,使用SQL语言操作。
数据库管理系统(DBMS)
- DataBase Management System
- 实现对数据库资源有效组织、管理和存取的系统软件。
- 负责数据库的建立和维护、数据定义、数据操纵、数据库的运行管理以及通信等功能。
SQL
- Structured Query Language
- SQL是操作关系型数据库的编程语言,定义了统一的标准。
安装与卸载
详细总结:Package-MySQL-安装与卸载
终端命令
详细总结:Package-MySQL-终端命令
配置文件
==在目录中添加一个my.ini文件作为配置文件???==
[mysqld]
# 设置3306端口
port=3306
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
热门推荐
详细总结:Package-MySQL-热门推荐
问题总结
详细总结:Package-MySQL-问题总结
默认数据库
MySQL默认会自动创建4个数据库
information_schemamysqlperformance_schemasys
MySQL的版本
针对不同的用户,MySQL分为以下版本:
- MySQL Community Server:单机版,社区版,免费,但不提供官方技术支持。
- MySQL Enterprise Edition:单机版,商业版,收费,提供官方技术支持。
- MySQL Cluster:集群版,社区版,免费,将多个MySQL服务封装成一个服务。
- MySQL Cluster CGE:集群版,商业版,收费,将多个MySQL服务封装成一个服务。
- MySQL Workbench(GUI TOOL):为MySQL设计的ER/数据库建模工具。
版本号的详细知识请参考内部文章,semver语义化版本控制规范:基础知识-规范-semver语义化版本控制规范
关系数据库的底层逻辑
- 表(Table):表是数据库中的基本单位,用于存储具有相同属性的数据记录。每个表都由行和列组成。
- 字段(Field)或列(Column):字段是表中的一个数据项,定义了表中数据的属性和类型。每个字段都有一个唯一的字段名,用于标识和引用该字段。
- 记录(Record)或行(Row):记录是表中的一行数据,代表一个具体的数据实体。每个记录包含与表中字段相对应的数据值。
- 实体(Entily):客观存在的、可以被描述的事物。
- 属性(Attribute):用于描述实体所具有的特征或特性。
- 表(Table):将不同的记录组织在一起,用来存储具体数据。表是数据库的基本组成单位。
- 关系(Relationship):实体之间的联系。
- 事务:MySQL中的事务是确保数据库从一个一致性状态转变到另一个一致性状态的过程。它具有四个基本特性,即原子性(不可分割的工作单元)、一致性(系统始终处于一致状态)、隔离性(并发事务互不干扰)和持久性(提交后对数据库的修改是永久性的)。
注释
CRUD 是一个缩写,代表 Create(创建)、Read(读取)、Update(更新)和 Delete(删除)这四种基本的数据库操作。以下是每个操作的简要说明:
- Create(创建):在数据库中创建新的数据记录。
- Read(读取):从数据库中检索数据记录。
- Update(更新):在数据库中修改现有数据记录。
- Delete(删除):从数据库中删除数据记录。
B+树查询
Buffer Pool
自适应哈希索引
Change Buffer
Undo Log
Buffer Pool
InnoDB
存储引擎
提供接口函数
函数
- 函数是一段可以直接被另一段程序调用的程序或代码。