- 目录
1.数据库与数据库管理系统1.1 数据库的相关概念
1.2 数据库与数据库管理系统的关系
1.3 常见的数据库简介Oracle1. 核心功能2. 架构和组件3. 数据存储和管理4. 高可用性和性能优化5. 安全性6. 版本和产品7. 工具和接口
SQL Server1. 核心功能2. 架构和组件3. 数据存储和管理4. 高可用性和性能优化5. 安全性6. 版本和产品7. 工具和接口PostgreSQL1. 核心功能2. 架构和组件6. 版本和产品7. 工具和接口 SyBase1. 核心功能2. 架构和组件3. 数据存储和管理4. 高可用性和性能优化5. 安全性6. 版本和产品7. 工具和接口
informix1. 核心功能2. 架构和组件3. 数据存储和管理4. 高可用性和性能优化5. 安全性6. 版本和产品7. 工具和接口 2.MySQL 介绍2.1 概述 2.2 Oracle vs MySQL2.3 RDBMS 与非RDBMS 2.1 关系型数据库(RDBMS)2.1.1 实质2.1.2 优势复杂查询 :事务支持 :2.2 非关系型数据库(非RDBMS)2.2.1 介绍非关系型数据库:2.2.2 有哪些非关系型数据库键值型数据库文档型数据库搜索引擎数据库列式数据库图形数据库2.3 小结
3.关系型数据库设计规则3.1 表、记录、字段 ORM思想 (Object Relational Mapping)体现:数据库中的一个表—— Java或Python中的一个类表中的一条数据—— 类中的一个对象(或实体)表中的一个列 ——类中的一个字段、属性(field)3.2 表的关联关系四种:一对一关联、一对多关联、多对多关联、自我引用3.2.1 一对一关联(one-to-one)两种建表原则:
举例1:学生-课程
举例2:产品-订单
举例3:用户-角色 3.2.4 自我引用(Self reference)5 MySQL环境搭建1.MySQL的卸载步骤1:停止MySQL服务 在卸载之前,先停止MySQL8.0的服务。
步骤2:软件的卸载方式1:通过控制面板方式
方式2:通过360或电脑管家等软件卸载
方式3:通过安装包提供的卸载功能卸载步骤3:残余文件的清理(1)服务目录:(2)数据目录:步骤4:清理注册表(选做)步骤5:删除环境变量配置
6.MySQL的下载、安装、配置6.1( MySQL的4大版本65/)上图对我们的影响总结起来 6.2 软件的下载1. 下载地址
2. 打开官网,点击DOWNLOADS
3. 点击 MySQL Community Server
4. 在 General Availability(GA) Releases 中选择适合的版本Windows平台下提供两种安装文件: Windows下的MySQL8.0安装有两种安装程序6.3 MySQL8.0 版本的安装步骤1:双击下载的mysql-installer-community-8.0.26.0.msi文件,打开安装向导。步骤2:打开“Choosing a Setup Type”(选择安装类型)窗口.步骤3:打开“Select Products” (选择产品)窗口,编辑 步骤4:在上一步选择好要安装的产品之后,单击“Next”(下一步)进入确认窗口、步骤5:安装完成后在“Status”(状态)列表下将显示“Complete”(安装完成)6.4 配置MySQL8.0步骤1:在上一个小节的最后一步,单击“Next”(下一步)按钮
步骤2:单击“Next”(下一步)按钮进入MySQL服务器类型配置窗口
步骤3:单击“Next”(下一步)按钮,打开设置授权方式窗口。
步骤4:单击“Next”(下一步)按钮,开设置服务器root超级管理员的密码窗口
步骤5:单击“Next”(下一步)按钮,打开设置服务器名称窗口,
步骤6:单击“Next”(下一步)按钮,打开确认设置服务器窗口,单击“Execute”(执行)按钮。
步骤7:完成配置,如图所示。单击“Finish”(完成)按钮,即可完成服务器的配置。
步骤8:如果还有其他产品需要配置,可以选择其他产品,接着继续配置。
步骤9:结束安装和配置。
6.5 配置MySQL8.0 环境变量
6.6 MySQL5.7 版本的安装、配置安装配置6.7 安装失败问题问题1:无法打开MySQL8.0软件安装包或者安装过程中失败,如何解决?解决方法:到这个地址下载 Microsoft .NET Framework 4.5并安装后,再去安装MySQL。解决方法同样是,提前到微软官网下载相应的环境。问题2:卸载重装MySQL失败?解决办法是,把以前的安装目录删除。问题3:如何在Windows系统删除之前的未卸载干净的MySQL服务列表?操作方法具体如下,
1.数据库与数据库管理系统
1.1 数据库的相关概念
- DB:数据库(Database)
- 即存储数据的“仓库”,其本质是一个文件系统。它保存了一系列有组织的数据。
- DBMS:数据库管理系统(Database Management System)
- 是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制。用户通过数据库管理系统访问数据库中表内的数据。
- SQL:结构化查询语言(Structured Query Language)
- SQL:结构化查询语言(Structured Query Language)专门用来与数据库通信的语言。
1.2 数据库与数据库管理系统的关系
- 数据库管理系统(DBMS)可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。为保存 应用中实体的数据,一般会在数据库创建多个表,以保存程序中实体用户的数据。
- 数据库管理系统、数据库和表的关系如图所示:
1.3 常见的数据库简介
Oracle
1. 核心功能
- 表和视图:Oracle数据库使用表来存储数据,每个表由行和列组成。视图则是基于一个或多个表的虚拟表。
- 索引:索引用于加速数据检索操作,帮助提高查询性能。
- 事务管理:支持ACID特性(原子性、一致性、隔离性、持久性),确保数据库操作的可靠性和一致性。
- 存储过程和触发器:允许用户定义在数据库中执行的存储过程和触发器,以自动化任务和业务逻辑。
2. 架构和组件
- Oracle实例:由内存结构(如SGA和PGA)和后台进程(如DBWn、LGWR、CKPT等)组成。
- 数据文件:用于存储数据库的数据,通常以表空间的形式组织。
- 控制文件:记录数据库的结构信息,包括数据文件和重做日志文件的位置。
- 重做日志文件:用于记录对数据库的所有更改,确保数据恢复。
- 归档日志:记录重做日志文件的归档,支持数据库的备份和恢复。
3. 数据存储和管理
- 表空间(Tablespace):用于逻辑上组织数据库中的数据文件,提供数据存储的逻辑视图。
- 数据字典:包含数据库的元数据(如表、视图、用户等)的系统表。
- 备份和恢复:Oracle提供了多种备份和恢复机制,包括RMAN(Recovery Manager)和Data Pump。
4. 高可用性和性能优化
- Oracle Real Application Clusters (RAC):提供数据库的高可用性和负载均衡功能。
- 数据分区:通过分区表和索引提高性能和管理大数据集的能力。
- 性能调优:包括查询优化、索引优化和内存管理等。
5. 安全性
- 用户管理:支持细粒度的用户权限控制和角色管理。
- 加密:提供数据加密功能,包括数据传输加密和存储加密。
- 审计:记录和监控数据库的访问和操作行为,增强安全性。
6. 版本和产品
- Oracle Database Express Edition (XE):免费版,适用于小型应用和学习使用。
- Oracle Database Standard Edition:适用于中小型企业,提供了基础的数据库功能。
- Oracle Database Enterprise Edition:适用于大型企业,提供了高级功能和扩展选项。
7. 工具和接口
- SQL*Plus:命令行工具,用于执行SQL和PL/SQL语句。
- Oracle SQL Developer:图形化的开发工具,提供SQL和PL/SQL的编辑和调试功能。
- Oracle Enterprise Manager (OEM):用于监控和管理Oracle数据库的工具。
SQL Server
1. 核心功能
- 表和视图:SQL Server使用表来存储数据,视图是基于表的数据的虚拟表,用于简化复杂查询。
- 索引:索引加速数据检索,提高查询性能。
- 事务管理:支持ACID特性,确保数据的一致性和可靠性。
- 存储过程和触发器:允许在数据库中自动执行逻辑和任务。
2. 架构和组件
- SQL Server实例:包括数据库引擎、SQL Server服务和SQL Server Management Studio(SSMS)。
- 数据库文件:包括数据文件(.mdf和.ndf)和日志文件(.ldf)。
- 系统数据库:包括master、model、msdb和tempdb,每个数据库负责不同的系统功能。
3. 数据存储和管理
- 文件组:用于组织和管理数据库文件,提升性能和管理效率。
- 数据字典:包含有关数据库结构的信息,如表、视图和索引。
- 备份和恢复:提供全面的备份和恢复选项,包括全备、差异备份和日志备份。
4. 高可用性和性能优化
- Always On Availability Groups:提供高可用性和灾难恢复解决方案。
- 分区表:将大表分割成较小的部分,以提高查询性能和管理。
- 性能监控:通过SQL Server Profiler和Dynamic Management Views(DMVs)进行性能调优。
5. 安全性
- 用户管理:支持细粒度的权限管理和角色分配。
- 加密:提供数据加密功能,包括透明数据加密(TDE)和列级加密。
- 审计:记录和监控数据库活动,增强数据安全性。
6. 版本和产品
- SQL Server Express:免费版,适合小型应用和开发使用。
- SQL Server Standard:提供基础的企业级功能,适合中型企业。
- SQL Server Enterprise:提供全面的数据库功能,适用于大型企业和复杂的应用场景。
7. 工具和接口
- SQL Server Management Studio (SSMS):图形化工具,用于管理和开发SQL Server数据库。
- SQL Server Data Tools (SSDT):用于开发和部署SQL Server数据库项目。
- SQL Server Integration Services (SSIS):用于数据提取、转换和加载(ETL)任务。
PostgreSQL
1. 核心功能
- 表和视图:使用表来存储数据,视图提供对数据的虚拟视图。
- 索引:支持多种索引类型,如B树、哈希和GIN,提升查询性能。
- 事务管理:支持ACID特性,确保数据一致性和可靠性。
- 存储过程和触发器:允许自动执行业务逻辑和数据操作。
2. 架构和组件
- PostgreSQL实例:包括数据库服务器和多个数据库,每个数据库可以有多个表、视图和其他对象。
- 表空间:用于组织数据文件的逻辑容器。
- 数据文件和日志文件:实际存储数据和事务日志,用于恢复操作。
- 3. 数据存储和管理
- 表空间(Tablespace):用于管理数据库文件的存储位置。
- 系统目录:存储有关数据库对象的信息,如表、索引和视图。
- 备份和恢复:支持完全备份、增量备份和流复制,确保数据安全。
- 4. 高可用性和性能优化
- 流复制:支持主从复制,用于高可用性和负载均衡。
- 分区表:通过数据分区提高性能和管理大数据集。
- 性能调优:包括查询优化、VACUUM操作和索引管理。
- 5. 安全性
- 用户和角色管理:支持细粒度权限控制和角色管理。
- 加密:提供数据加密功能,包括SSL/TLS加密和列级加密。
- 审计:记录数据库活动,用于安全审计和合规性。
6. 版本和产品
- PostgreSQL Community Edition:开源且免费,适合各种应用场景。
- 企业级支持:有多个商业支持选项,如EnterpriseDB提供的增强功能和技术支持。
7. 工具和接口
- pgAdmin:官方图形化管理工具,用于管理和开发PostgreSQL数据库。
- psql:命令行工具,用于执行SQL查询和管理数据库。
- PostGIS:扩展,提供地理空间数据支持和操作功能。
SyBase
1. 核心功能
- 表和视图:使用表来存储数据,视图则用于提供对数据的虚拟视图。
- 索引:支持多种索引类型,如B树和全文索引,提高查询效率。
- 事务管理:支持ACID特性,确保数据的一致性和可靠性。
- 存储过程和触发器:支持存储过程和触发器,用于自动化和业务逻辑实现。
2. 架构和组件
- ASE实例:包括数据库服务器和多个数据库实例,每个实例可以有多个表、视图和其他数据库对象。
- 数据库文件:实际存储数据和日志的文件。
- 日志文件:记录所有事务操作,用于恢复和事务管理。
3. 数据存储和管理
- 表空间(Tablespace):用于组织数据库中的数据文件。
- 系统目录:包含关于数据库对象的信息,如表、视图、索引等。
- 备份和恢复:支持完整备份、增量备份和日志备份,提供数据恢复功能。
4. 高可用性和性能优化
- 数据复制:支持主从复制和数据同步,提升数据的可用性和负载均衡。
- 性能优化:包括查询优化、索引优化和内存管理。
- 数据分区:通过分区技术处理大型数据集,提高性能。
5. 安全性
- 用户和权限管理:提供细粒度的权限控制和角色管理。
- 加密:支持数据加密,包括存储加密和传输加密。
- 审计:记录和审计数据库操作,确保安全和合规性。
6. 版本和产品
- SAP ASE:目前的主流版本,适用于各种企业级应用。
- SAP SQL Anywhere:适用于移动和嵌入式应用的轻量级版本。
7. 工具和接口
- Sybase Central:图形化管理工具,用于管理和配置Sybase数据库。
- isql:命令行工具,用于执行SQL查询和管理数据库。
- SAP Data Services:用于数据集成、数据清洗和数据迁移的工具。
informix
1. 核心功能
- 表和视图:通过表存储数据,视图提供对数据的虚拟化访问。
- 索引:支持多种索引类型,如B树和位图索引,以提升查询性能。
- 事务管理:支持ACID特性,保证数据的一致性和可靠性。
- 存储过程和触发器:允许自动化数据操作和业务逻辑实现。
2. 架构和组件
- Informix实例:包括数据库服务器和多个数据库,每个数据库包含多个表、视图和其他对象。
- 表空间:管理数据库的物理存储位置。
- 日志文件:记录所有事务操作和系统活动,用于恢复和故障处理。
3. 数据存储和管理
- 表空间(Tablespace):用于组织和管理数据库文件。
- 系统目录:存储关于数据库对象的信息,如表和索引。
- 备份和恢复:支持完整备份、增量备份和恢复,确保数据安全。
4. 高可用性和性能优化
- 数据复制:支持主从复制和高可用性配置,如HDR(High-Availability Data Replication)和RSS(Remote Standby Server)。
- 性能优化:包括自动化的性能监控、查询优化和数据分区。
- 分布式数据库:支持分布式查询和多数据源集成。
5. 安全性
- 用户和权限管理:提供细粒度的访问控制和角色管理。
- 加密:支持数据加密功能,包括传输加密和存储加密。
- 审计:记录和监控数据库活动,帮助确保安全合规。
6. 版本和产品
- IBM Informix:当前的主要版本,提供强大的企业级功能和支持。
- Informix Warehouse Accelerator:用于加速数据仓库和分析应用的专用版本。
7. 工具和接口
- IBM Informix Server Administrator (ISA):图形化管理工具,用于数据库管理和配置。
- dbaccess:命令行工具,用于执行SQL查询和管理数据库。
- Informix DataBlade:提供扩展功能,如地理空间数据处理和数据集成。
2.MySQL 介绍
2.1 概述
- 为什么如此多的厂商要选用MySQL?大概总结的原因主要有以下几点:
- 1. 开放源代码,使用成本低。
- 2. 性能卓越,服务稳定。
- 3. 软件体积小,使用简单,并且易于维护。
- 4. 历史悠久,社区用户非常活跃,遇到问题可以寻求帮助。
- 5. 许多互联网公司在用,经过了时间的验证。
2.2 Oracle vs MySQL
- Oracle 更适合大型跨国企业的使用,因为他们对费用不敏感,但是对性能要求以及安全性有更高的要求。
- MySQL 由于其体积小、速度快、总体拥有成本低,可处理上千万条记录的大型数据库,尤其是开放源码 这一特点,使得很多互联网公司、中小型网站选择了MySQL作为网站数据库(Facebook,Twitter,YouTube,阿里巴巴/蚂蚁金服,去哪儿,美团外卖,腾讯)。
2.3 RDBMS 与非RDBMS
- 关系型数据库绝对是 DBMS 的主流,其中使用最多的 DBMS 分别是 Oracle、 MySQL 和 SQL Server。这些都是关系型数据库(RDBMS)。
2.1 关系型数据库(RDBMS)
2.1.1 实质
- 这种类型的数据库是 最古老 的数据库类型,关系型数据库模型是把复杂的数据结构归结为简单的二 元关系 (即二维表格形式)。
- 关系型数据库以 行(row) 和 列(column) 的形式存储数据,以便于用户理解。这一系列的行和列被为 表(table) ,一组表组成了一个库(database)。
- 表与表之间的数据记录有关系(relationship)。现实世界中的各种实体以及实体之间的各种联系均用 关系模型来表示。关系型数据库,就是建立在 关系模型 基础上的数据库。
- SQL 就是关系型数据库的查询语言。
2.1.2 优势
复杂查询 :
- 可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询。
事务支持 :
- 使得对于安全性能很高的数据访问要求得以实现。
2.2 非关系型数据库(非RDBMS)
2.2.1 介绍
非关系型数据库:
- 可看成传统关系型数据库的功能 阉割版本 ,基于键值对存储数据,不需要经过SQL层 的解析, 性能非常高 。同时,通过减少不常用的功能,进一步提高性能。 目前基本上大部分主流的非关 系型数据库都是免费的。
2.2.2 有哪些非关系型数据库
- 相比于 SQL,NoSQL 泛指非关系型数据库,包括了榜单上的键值型数据库、文档型数据库、搜索引擎和 列存储等,除此以外还包括图形数据库。也只有用 NoSQL 一词才能将这些技术囊括进来。
键值型数据库
- 键值型数据库通过 Key-Value 键值的方式来存储数据,其中 Key 和 Value 可以是简单的对象,也可以是 复 杂的对象。Key 作为唯一的标识符,优点是查找速度快,在这方面明显优于关系型数据库,缺点是无 法 像关系型数据库一样使用条件过滤(比如 WHERE),如果你不知道去哪里找数据,就要遍历所有的 键, 这就会消耗大量的计算。 键值型数据库典型的使用场景是作为 内存缓存 。Redis 是最流行的键值型数据库。
文档型数据库
- 此类数据库可存放并获取文档,可以是XML、JSON等格式。在数据库中文档作为处理信息的基本单位, 一个文档就相当于一条记录。文档数据库所存放的文档,就相当于键值数据库所存放的“值”。MongoDB 是最流行的文档型数据库。此外,还有CouchDB等。
搜索引擎数据库
- 虽然关系型数据库采用了索引提升检索效率,但是针对全文索引效率却较低。搜索引擎 数据库是应用在 搜索引擎领域的数据存储形式,由于搜索引擎会爬取大量的数据,并以特定的格式进行 存储,这样在检 索的时候才能保证性能最优。核心原理是“倒排索引”。 典型产品:Solr、Elasticsearch、Splunk 等。
列式数据库
- 列式数据库是相对于行式存储的数据库,Oracle、MySQL、SQL Server 等数据库都是采用的行式存储 (Row-based),而列式数据库是将数据按照列存储到数据库中,这样做的好处是可以大量降低系统的 I/O,适合于分布式文件系统,不足在于功能相对有限。典型产品:HBase等。
图形数据库
- 图形数据库,利用了图这种数据结构存储了实体(对象)之间的关系。图形数据库最典型的例子就是社 交网络中人与人的关系,数据模型主要是以节点和边(关系)来实现,特点在于能高效地解决复杂的关 系问题。
- 图形数据库顾名思义,就是一种存储图形关系的数据库。它利用了图这种数据结构存储了实体(对象) 之间的关系。关系型数据用于存储明确关系的数据,但对于复杂关系的数据存储却有些力不从心。如社 交网络中人物之间的关系,如果用关系型数据库则非常复杂,用图形数据库将非常简单。典型产品: Neo4J、InfoGrid等。
2.3 小结
- NoSQL 的分类很多,即便如此,在 DBMS 排名中,还是 SQL 阵营的比重更大,影响力前 5 的 DBMS 中 有4 个是关系型数据库,而排名前 20 的 DBMS 中也有 12 个是关系型数据库。所以说,掌握 SQL 是非 常有 必要的。
3.关系型数据库设计规则
- 关系型数据库的典型数据结构就是 数据表 ,这些数据表的组成都是结构化的(Structured)。 将 数据放到表中,表再放到库中。 一个数据库中可以有多个表,每个表都有一个名字,用来标识自己。表名具有唯一性。
3.1 表、记录、字段
- E-R(entity-relationship,实体-联系)模型中有三个主要概念是: 实体集 、 属性 、 联系集 。
- 一个实体集(class)对应于数据库中的一个表(table)
- 一个实体(instance)则对应于数据库表 中的一行(row)——也称为一条记录(record)。
- 一个属性(attribute)对应于数据库表中的一列 (column)——也称为一个字段(field)。
ORM思想 (Object Relational Mapping)体现:
数据库中的一个表—— Java或Python中的一个类
表中的一条数据—— 类中的一个对象(或实体)
表中的一个列 ——类中的一个字段、属性(field)
3.2 表的关联关系
- 表与表之间的数据记录有关系(relationship)。现实世界中的各种实体以及实体之间的各种联系均用 关系模型来表示。
四种:一对一关联、一对多关联、多对多关联、自我引用
3.2.1 一对一关联(one-to-one)
- 在实际的开发中应用不多,因为一对一可以创建成一张表。
- 举例:设计 学生表 :学号、姓名、手机号码、班级、系别、身份证号码、家庭住址、籍贯、紧急 联系人、.
- 拆为两个表:两个表的记录是一一对应关系。
- 基础信息表 (常用信息):学号、姓名、手机号码、班级、系别
- 档案信息表 (不常用信息):学号、身份证号码、家庭住址、籍贯、紧急联系人、
两种建表原则:
- 外键唯一:主表的主键和从表的外键(唯一),形成主外键关系,外键唯一。
- 外键是主键:主表的主键和从表的主键,形成主外键关系。
举例1:学生-课程
- 学生信息表 :一行代表一个学生的信息(学号、姓名、手机号码、班级、系别...)
- 课程信息表 :一行代表一个课程的信息(课程编号、授课老师、简介...)
- 选课信息表 :一个学生可以选多门课,一门课可以被多个学生选择
学号 课程编号 1 1001 2 1001 1 1002
举例2:产品-订单
- “订单”表和“产品”表有一种多对多的关系,这种关系是通过与“订单明细”表建立两个一对多关系来 定 义的。一个订单可以有多个产品,每个产品可以出现在多个订单中。
- 示例
- 产品表 :“产品”表中的每条记录表示一个产品
- 订单表 :“订单”表中的每条记录表示一个订单
- 订单明细表 :每个产品可以与“订单”表中的多条记录对应,即出现在多个订单中。一个订单可 以与“产品”表中的多条记录对应,即包含多个产品
举例3:用户-角色
- 多对多关系建表原则:
- 需要创建第三张表,中间表中至少两个字段,这两个字段分别作为外键指向 各自一方的主键。
3.2.4 自我引用(Self reference)
5 MySQL环境搭建
1.MySQL的卸载
步骤1:停止MySQL服务 在卸载之前,先停止MySQL8.0的服务。
- 按键盘上的“Ctrl + Alt + Delete”组合键,打开“任务管理器”对话 框,可以在“服务”列表找到“MySQL8.0”的服务,如果现在“正在运行”状态,可以右键单击服务,选择“停 止”选项停止MySQL8.0的服务,如图所示。
步骤2:软件的卸载
方式1:通过控制面板方式
- 卸载MySQL8.0的程序可以和其他桌面应用程序一样直接在“控制面板”选择“卸载程序”,并在程序列表中 找到MySQL8.0服务器程序,直接双击卸载即可,如图所示。这种方式删除,数据目录下的数据不会跟着 删除。
方式2:通过360或电脑管家等软件卸载
方式3:通过安装包提供的卸载功能卸载
- 其实也可以通过安装向导程序进行MySQL8.0服务器程序的卸载。
- ① 再次双击下载的mysql-installer-community-8.0.26.0.msi文件,打开安装向导。安装向导会自动检测 已 安装的MySQL服务器程序。
- ② 选择要卸载的MySQL服务器程序,单击“Remove”(移除),即可进行卸载。
- ③ 单击“Next”(下一步)按钮,确认卸载。
- ④ 弹出是否同时移除数据目录选择窗口。如果想要同时删除MySQL服务器中的数据,则勾选“Remove the data directory”,如图所示。
- ⑤ 执行卸载。单击“Execute”(执行)按钮进行卸载。
- ⑥ 完成卸载。单击“Finish”(完成)按钮即可。如果想要同时卸载MySQL8.0的安装向导程序,勾选“Yes, Uninstall MySQL Installer”即可,如图所示。
步骤3:残余文件的清理
- 如果再次安装不成功,可以卸载后对残余文件进行清理后再安装。 、
(1)服务目录:
- mysql服务的安装目录
(2)数据目录:
- 默认在C:\ProgramData\MySQL 如果自己单独指定过数据目录,就找到自己的数据目录进行删除即可。
- 在操作完以后,需要重启计算机,然后进行安装即可。如果仍然安装失败,需要继续操作如下步骤
步骤4:清理注册表(选做)
- 如果前几步做了,再次安装还是失败,那么可以清理注册表。如何打开注册表编辑器:在系统的搜索框中输入 regedit
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL服务 目录删除 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\MySQL服务 目录删除 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL服务 目录删除 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\MySQL服务 目录删除 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL服务 目录删除 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL服务删除 //注册表中的ControlSet001,ControlSet002,不一定是001和002,可能是ControlSet005、006之类!
步骤5:删除环境变量配置
- 找到path环境变量,将其中关于mysql的环境变量删除,切记不要全部删除。
- 例如:删除 D:\develop_tools\mysql\MySQLServer8.0.26\bin; 这个部分
6.MySQL的下载、安装、配置
6.1( MySQL的4大版本65/)
- MySQL Community Server 社区版本,开源免费,自由下载,但不提供官方技术支持,适用于大多数普通用户。
- MySQL Enterprise Edition 企业版本,需付费,不能在线下载,可以试用30天。提供了更多的 功能和更完备的技术支持,更适合于对数据库的功能和可靠性要求较高的企业客户。
- MySQL Cluster 集群版,开源免费。用于架设集群服务器,可将几个MySQL Server封装成一个 Server。需要在社区版或企业版的基础上使用.
上图对我们的影响总结起来
- 如果用户想要 MySQL 数据库的最新功能、改进和bug fix,请使用创新版本(例如 8.1.x、8.2.x、8.3.x 等)。
- 如果用户 MySQL 只需要错误修复,请使用 8.0.x 版本(例如 8.0.35、8.0.36、8.0.37 等)。
- 如果用户使用的是国内云厂商的RDS MySQL 数据库服务,具体版本支持计划请参考各个厂商的相关公告。
6.2 软件的下载
1. 下载地址
2. 打开官网,点击DOWNLOADS
- 然后,点击 MySQL Community(GPL) Downloads
3. 点击 MySQL Community Server
4. 在 General Availability(GA) Releases 中选择适合的版本
Windows平台下提供两种安装文件:
- MySQL二进制分发版(.msi安装文件)和免安装版(.zip压缩文 件)。
- 一般来讲,应当使用二进制分发版,因为该版本提供了图形化的安装向导过程,比其他的分发版 使用起来要简单,不再需要其他工具启动就可以运行MySQL。
- 这里在Windows 系统下推荐下载 MSI安装程序 ;点击 Go to Download Page 进行下载即可
Windows下的MySQL8.0安装有两种安装程序
- mysql-installer-web-community-8.0.26.0.msi 下载程序大小:2.4M;安装时需要联网安装组件。
- mysql-installer-community-8.0.26.0.msi 下载程序大小:450.7M;安装时离线安装即 可。推荐。
6.3 MySQL8.0 版本的安装
- MySQL下载完成后,找到下载文件,双击进行安装,具体操作步骤如下。
步骤1:双击下载的mysql-installer-community-8.0.26.0.msi文件,打开安装向导。
步骤2:打开“Choosing a Setup Type”(选择安装类型)窗口.
- 在其中列出了5种安装类型,分别是:
- Developer Default(默认安装类型)、
- Server only(仅作为服务器)、
- Client only(仅作为客户端)、
- Full(完全安装)
- Custom(自定义安装)
- 这里选择“Custom(自定义安装)”类型按钮,单击
- “Next(下 一步)”按钮。
步骤3:打开“Select Products” (选择产品)窗口,
- 可以定制需要安装的产品清单。
- 例如,选择“MySQL Server 8.0.26-X64”后,单击“→”添加按钮,即可选择安装MySQL服务器,如图所示。采用通用的方法,可 以添加其他你需要安装的产品。
- 此时如果直接“Next”(下一步),则产品的安装路径是默认的。如果想要自定义安装目录,则可以选中 对应的产品,然后在下面会出现“Advanced Options”(高级选项)的超链接
- 单击“Advanced Options”(高级选项)则会弹出安装目录的选择窗口
- 如图所示,此时你可以分别设置 MySQL的服务程序安装目录和数据存储目录。
- 如果不设置,默认分别在C盘的Program Files目录和 ProgramData目录(这是一个隐藏目录)。如果自定义安装目录,请避免“中文”目录。另外,建议服务 目 录和数据目录分开存放。
步骤4:在上一步选择好要安装的产品之后,单击“Next”(下一步)进入确认窗口、
- 如图所示。单击 “Execute”(执行)按钮开始安装。
步骤5:安装完成后在“Status”(状态)列表下将显示“Complete”(安装完成)
- 如图所示。
6.4 配置MySQL8.0
- MySQL安装之后,需要对服务器进行配置。具体的配置步骤如下。
步骤1:在上一个小节的最后一步,单击“Next”(下一步)按钮
- 就可以进入产品配置窗口。
步骤2:单击“Next”(下一步)按钮进入MySQL服务器类型配置窗口
- 如图所示。端口号一般选择默 认 端口号3306。
- “Config Type”选项用于设置服务器的类型。
- 单击该选项右侧的下三角按钮,即可查看3个选项,如 图所示。
- Development Machine(开发机器) :该选项代表典型个人用桌面工作站。此时机器上需要运行多 个应用程序,那么MySQL服务器将占用最少的系统资源。
- Server Machine(服务器) :该选项代表服务器,MySQL服务器可以同其他服务器应用程序一起运行
- 例如Web服务器等。MySQL服务器配置成适当比例的系统资源。
- Dedicated Machine(专用服务器) :该选项代表只运行MySQL服务的服务器。MySQL服务器配置成使用所有可用系统资源。
步骤3:单击“Next”(下一步)按钮,打开设置授权方式窗口。
- 其中,上面的选项是MySQL8.0提供的新 的 授权方式,采用SHA256基础的密码加密方法;下面的选项是传统授权方法(保留5.x版本兼容性)。
步骤4:单击“Next”(下一步)按钮,开设置服务器root超级管理员的密码窗口
- 如图所示,需要输入 两次同样的登录密码。也可以通过“Add User”添加其他用户,添加其他用户时,需要指定用户名、允许 该用户名在哪台/哪些主机上登录,还可以指定用户角色等。此处暂不添加用户,用户管理在MySQL进阶操作及特性篇中讲解。
步骤5:单击“Next”(下一步)按钮,打开设置服务器名称窗口,
- 如图所示。该服务名会出现在Windows 服务列表中,也可以在命令行窗口中使用该服务名进行启动和停止服务。
- 将服务名设置为 “MySQL80”。
- 如果需要开机自启动服务,也可以勾选“Start the MySQL Server at System Startup”选项 (推 荐)。
- 下面是选择以什么方式运行服务?
- 可以选择“Standard System Account”(标准系统用户)或者“Custom User” (自定义用户)中的一个。推荐前者。
步骤6:单击“Next”(下一步)按钮,打开确认设置服务器窗口,单击“Execute”(执行)按钮。
步骤7:完成配置,如图所示。单击“Finish”(完成)按钮,即可完成服务器的配置。
步骤8:如果还有其他产品需要配置,可以选择其他产品,接着继续配置。
- 如果没有,直接选择“Next” (下一步),直接完成整个安装和配置过程。
步骤9:结束安装和配置。
6.5 配置MySQL8.0 环境变量
- 如果不配置MySQL环境变量,就不能在命令行直接输入MyS【属性】QL登录命令.
- 下面说如何配置MySQL的环境 变量:
- 步骤1:在桌面上右击【此电脑】图标,在弹出的快捷菜单中选择菜单命令。
- 步骤2:打开【系 统】窗口,单击【高级系统path变量设置】链接。
- 步骤3:打开【系统属性】对话框,选择【高级】选项卡,然 后单击【环境变量】按钮。
- 步骤4:打开【环境变量】对话框,在系统变量列表中选择。
- 步骤 5:单击【编辑】按钮,在【编辑环境变量】对话框中,将MySQL应用程序的bin目录 (C:\Program Files\MySQL\MySQL Server 8.0\bin)添加到变量值中,用分号将其与其他路径分隔开。
- 步骤6:添加完成 之后,单击【确定】按钮,这样就完成了配置path变量的操作,然后就可以直接输入 MySQL命令来登录 数据库了。
6.6 MySQL5.7 版本的安装、配置
安装
- 此版本的安装过程与上述过程除了版本号不同之外,其它环节都是相同的。
配置
- 配置环节与MySQL8.0版本确有细微不同。大部分情况下直接选择“Next”即可,不影响整理使用。 这里配置MySQL5.7时。
- 特别注意:与前面安装好的 MySQL8.0不能使用相同的端口号。
6.7 安装失败问题
- MySQL的安装和配置是一件非常简单的事,但是在操作过程中也可能出现问题,特别是初学者。
问题1:无法打开MySQL8.0软件安装包或者安装过程中失败,如何解决?
- 在运行MySQL8.0软件安装包之前,首先需要确保系统中已经安装了.Net Framework相关软件,
解决方法:到这个地址下载 Microsoft .NET Framework 4.5并安装后,再去安装MySQL。
- 另外,还要确保Windows Installer正常安装。
- windows上安装mysql8.0需要操作系统提前已安装好 Microsoft Visual C++ 2015-2019。
解决方法同样是,提前到微软官网下载相应的环境。
问题2:卸载重装MySQL失败?
- 该问题通常是因为MySQL卸载时,没有完全清除相关信息导致的。
解决办法是,把以前的安装目录删除。
- 如果之前安装并未单独指定过服务安装目录,则默认安装目录是 “C:\Program Files\MySQL”,彻底 删除该目录。
- 同时删除MySQL的Data目录,如果之前安装并未单独指定过数据目录,则默认安装目录是 “C:\ProgramData\MySQL”,该目录一般为隐藏目录。删除后,重新安装 即可。
问题3:如何在Windows系统删除之前的未卸载干净的MySQL服务列表?
操作方法具体如下,
- 在系统“搜索框”中输入“cmd”,按“Enter”(回车)键确认,弹出命令提示符界面。然后输 入“sc delete MySQL服务名”,按“Enter”(回车)键,就可以彻底删除残余的MySQL服务啦。
...
...