MySQL(一)概述与环境搭建
目录
¶概述
❓ 为什么要使用数据库?
✨ 通过数据库可以将数据持久化存储到本地、实现结构化查询、冗余度较小,节省存储空间等特点
¶数据库与数据库管理系统
刚开始学习时,总是对以下几个概念掂量不清楚,使用下列表格进行总结
名次 | 含义 |
---|---|
DB:数据库(DataBase) | 即存储数据的「 仓库 」,其本质是一个文件系统。它保存了一系列有组织的数据 |
DBMS:数据库管理系统(Database Management System) | 是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控 制。用户通过数据库管理系统访问数据库中表内的数据 |
SQL:结构化查询语言(Structured Query Language) | 专门用来与数据库通信的语言 |
DBA:数据库管理员(DataBase Administrator) | 负责全面管理和控制数据库系统 |
✨ 数据库与数据库管理系统的关系
用户通过数据库管理系统与数据库的交互流程如下:
¶数据库的分类
目前根据数据库存储数据的方式,大致可以将数据库分为三类:关系型数据库、非关系型数据库以及新型的分布式数据库,当然后两种都不是本文的重点,本文的重点还是在于关系型数据库
¶RDBMS
RDBMS(Relational Database Management System)是关系型数据库管理系统的简称目前,常用的管理系统为Oracle
、MySQL
、PostgreSQL
、SQLServer
等,2021 最具影响力的依旧是Oracle和MySQL,2021 年数据库排名如下:
然而,Oralcle学习曲线较长、过程复杂不易入门,因此选择 MySQL 数据库进行入门
¶NoSQL
非关系型数据库,可以堪称传统关系型数据库的功能阉割版本,基于健值对存储数据,不需要经过 SQL 层的解析,性能非常高
。同时,通过减少不常用的功能,进一步提供性能。相比于 SQL,NoSQL 泛指非关系型数据库,包括了榜单上的键值型数据库、文档型数据库、搜索引擎和列存储等,除此以外还包括图形数据库。也只有用 NoSQL 一词才能将这些技术囊括进来
NoSQL(No,SQL/Not only SQL)主要指带那种非关系型数据库,目前产业界主要使用的产品有:MongoDB
、Redis
、ElaticSearch
等
¶NewSQL
NewSQL 新型数据库,是下一代数据库的趋势,这是一种分布式数据库的解决方案,目前业界聚焦的产品有:TiDB
、Spanner
、AliSQL(RDS+DRDS)
、PolarDB
¶Mysql 安装(Windows 为主)
Mysql 是目前常用的免费的关系性数据库,所以本系列将主要记录 MySQL 学习过程中遇到的问题,针对不同系统,mysql 软件安装方法也不 ˝˝ 同,主要分为通常使用的 Windows 安装和 Ubuntu 安装
¶Windows 下 Mysql 安装
如果系统一开始安装过 MySQL 则需要先进行卸载
¶安装前卸载
🎶 如果之前安装过 MySQL 软件,需要重装就要先卸载
1 | HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL服务 目录删除 |
¶安装
单击 Finish
按钮完成安装过程。如果想马上配置数据库连接,选择 Launch the MySQL Instance Configuration Wizard
复选框。如果现在没有配置,以后想要配置或重新配置都可以在 MySQL Server
的安装目录的 bin 目录下(例如:D:\ProgramFiles\MySQL5.5\MySQL Server 5.5\bin
)找到 MySQLInstanceConfig.exe
打开 MySQL Instance Configuration Wizard
向导。
¶MySQL 配置
选择配置方式,Detailed Configuration(手动精确配置)
、Standard Configuration(标准配置)
,我们选择Detailed Configuration
,方便熟悉配置过程。
InnoDB 的数据文件会在数据库第一次启动的时候创建,默认会创建在 MySQL 的安装目录下,用户可以根据实际的空间状况进行路径的选择。
这个比较重要,就是对 mysql 默认数据库语言编码进行设置,第一个是西文编码,第二个是多字节的通用 utf8 编码,第三个,手工选择字符集。
🎶 如果安装时选择了字符集和 utf8
,通过命令行客户端来操作数据库时,有时候会出现乱码,这是因为命令行客户端默认是 GBK 字符集,因此客户端与服务器端就出现了不一致的情况,会出现乱码,可以在 mysql 客户端执行下列命令解决
可以通过以下命令查看:
1 | mysql> show variables like 'character_set_%'; |
¶Ubuntu 下 Mysql 安装
这里仅介绍简单的通过软件包安装
1 | dpkg -l |grep mysql #检查MySQL是否已经安装 |
¶Mysql 服务启动
通过软件安装之后,此时并不能直接使用 mysql ,需要将下载的软件 「 打开 」,也就是要将下载的 mysql 服务启动才能够让我们使用
¶Windows 下服务启动
1 | net start mysql |
¶登陆 MySQL
1 | mysql -h localhost -uroot -p ## 连接Mysql |
¶SQL 概述
结构化查询语言( Structure Query Language ):专门用来与数据库通信的语言,SQL 语言可以分为如下几类:DDL,DML,DCL,DQL,具体各种语言如何书写,博客都会记录。