目录
1、Mysql安装
我们在WEB 开发中,一般分为三大部分:
- 前端:页面交互、显示数据(动态的数据一般来自于数据库)。
- 后端:获取前端请求,根据请求进行逻辑处理,去连接数据库JDBC获取所需要的的数据,再把数据响应回前端。
- 数据库:保存数据,实现数据的持久化
1.1、数据库
1.1.1、数据库简介
数据库(DataBase)(DB):就是按照数据结构来组织、存储和管理数据的一个数据仓库,安装在操作系统之上。之所以会有数据库产生,是因为人们在使用各种应用时会产生很多数据数据,而数据库就是为了保存这些数据而产生的。
比如现在的微信,创建微信后,数据就会根据账号信息保存你微信中的一切数据,只要登录后,显示的就全是跟你账号相关的一些数据,比如朋友圈、朋友、关注的公众号等等。
数据库为DB,用来保存数据,是一个文件系统。 数据库管理系统为DBMS,它是用来操作数据库的软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制。而操控数据的语句叫SQL语句,主要与数据库之间进行通信。
数据库的分类:
-
关系型数据库(RDBMS):MySQL、Oracle、SqlServer、DB2、等,
它是通过表和表之间、行和列之间的关系进行数据的存储的,它的数据形式是一种典型的表格型数据。
RDBMS(关系数据库管理系统)的特点:
- 内部数据以表格的形式出现,分为行和列。
- 每一行为一条完整的数据,每一列为数据的一个描述信息
- 行和列组成一张表单table,若干的表单组成数据库database
- 通过sql语言对数据库进行查询
- 关系型数据库强调ACID原则:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。
- 关系型数据库强调数据的一致性,为此在读写性能上并不突出,面对海量数据,高并发数据处理时性能下降很大
RDBMS(关系数据库管理系统)的基本术语:
-
数据库: 数据库是一些关联表的集合。
-
数据表: 数据的矩阵,类似于我们常见的表格
-
列: 具有相同数据类型的数据的集合;
行:每一行是一条完整的数据记录
-
冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。
-
主键:唯一的。一个数据表中只能包含一个主键。
-
外键:外键用于关联两个表。
-
索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
下面是HeidiSQL软件的部分截图
-
非关系型数据库(NoSQL):主要基于键值对存储数据,不需要经过SQL层解析,它的性能相较于关系型数据库要高很多。
- 键值型数据库:通过 Key-Value 键值的方式来存储数据,这类数据库查找速度很快,主要应用的场景是缓存。常见的是Redis
- 文档型数据库:可存放并获取文档,可以是XML、JSON等格式。常见的是MongoDB
- 搜索引擎数据库:是应用在搜索引擎领域的数据存储形式。常见的是Solr、Elasticsearch
- 列式数据库:主流的数据库都是行式的,而列式数据库是将数据按照列存储到数据库中,好处是可以大量降低系统的I/O,适合于分布式文件系统,不足在于功能相对有限。常见的是HBase
- 图形数据库:存储图形关系的数据库,利用了图这种数据结构存储了对象之间的关系。
1.1.2、常见的数据库
- Oracle:诞生于1979年,它是第一个商用的RDBMS(关系型数据库管理系统),收费,其开发公司名也为Oracle。Oracle在安全性和海量数据存储上有优势,所以主要用于大型的公司。
- MySQL:由瑞典MySQL AB(创始人Michael Widenius)公司1995年开发,该公司于2008年被Sun 收购,而Sun 于2009年被Oracle收购,所以目前MySQL和Oracle都属于Oracle公司。MySQL体积小、速度快、成本低、开源,所以主要应用于中小公司。
- SQL Server:微软开发的数据库,诞生于1989年,可以与Microsoft BackOffice产品集成。
- DB2:IBM公司的数据库产品,收费,多应用在银行系统中。
- PostgreSQL:稳定性极强,它的语法最符合SQL的标准,是开源的,具备商业级DBMS质量。PG对数据量大的文本以及SQL处理较快。
1.2 MySQL安装与卸载
MySQL可以选择下载安装包,也可以下载zip的压缩包。需要注意的是安装前需要确定你的电脑未安装过MySQL或已经将之前的版本卸载干净了。
1.2.1、安装包安装
-
下载MySQL官网
-
打开下载的 msi 文件,双击进行安装
-
配置环境变量
- 验证安装是否成功
1.2.2、zip安装安装
-
下载:MySQL8.0
-
直接解压缩到目录,得到mysql-8.0.25文件
-
配置环境变量
-
老版本需要配置文件 .ini
此版本不需要此步骤
[mysqld] basedir="mysql的路径" datadir="mysql的路径\data" prot=3306 skip-grant-tables
-
以管理员身份运行cmd
-
进入mysql的bin目录下,运行命令符 mysqld -install 安装MySQL服务
-
提示 Service successfully installed. 安装成功
-
-
输入 mysqld --initialize-insecure --user=mysql 初始化数据文件 ,生成data文件夹
-
启动mysq 服务:net start mysql
-
启动成功后,登录mysql ,输入:mysql -u root -p回车,不输入密码,出现了mysql>表示成功
-
修改密码:alter user user() identified by “密码”; 然后 输出 quit 退出mysql
-
重新登录,输入:mysql -u root -p回车,这次要输出密码了。
-
登录后,使用show databases; 出现系统自带的一些数据库则表示安装成功
-
1.2.3、卸载
-
先停止MySQL的服务,使用Ctrl + Alt + Delete打开任务管理器,在服务中找到MySQL,将运行状态改成停止。
-
卸载MySQL
- 如果是通过安装包安装的,可以通过控制面板、下载的电脑管家、MySQL提供的卸载文件。
- 如果是通过zip压缩文件安装的,通过命令行输入:net stop mysql 和 mysqld-nt -remove
-
卸载后清除残余的文件
-
删除安装路径下的MySQL的文件夹
-
删除ProgramData目录下的MySQL文件夹
-
-
清理注册表:在搜索中输入 regedit 打开注册表编辑器
将下面的几个删除 1、HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\MySQL服务 目录删除 2、HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL服务 目录删除 3、HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\MySQL服务 目录删除 4、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL服务目录删除 5、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL服务删除
-
清除相关的环境变量
1.2.4、MySQL登录
-
启动MySQL服务
-
通过CMD命令
# 启动 MySQL 服务的命令: net start MySQL服务名 # 停止 MySQL 服务的命令: net stop MySQL服务名
-
通过服务,Win键+R,然后输入services.msc 打开服务,可以修改状态(可改为自动这样电脑启动后自动启动MySQL)
-
-
可以通过CMD或者mysql自带命令行客户端 MySQL 8.0 Command Line Client 进行操作
-
进入MySQL
//主机如果是:localhost或者IP地址127.0.0.1,可以忽略不写 //端口号如果是默认的3306也可以省略 1、mysql -h 主机名 -P 端口号 -u 用户名 -p 2、mysql -u root -p
-
查看MySQL的版本号
1、mysql -V 2、mysql --version 3、登录后使用:select version();
-
修改用户密码
update mysql.user set authentication_String=password('密码') where user='root' and host='localhost';
-
刷新权限
flush privileges;
-
退出
1、exit 3、quit
1.2.5、目录结构
目录 | 说明 |
---|---|
bin | 所有MySQL的可执行文件,如mysql.exe、mysqld.exe、mysqlshow.exe |
data | 用于放置一些日志文件以及数据库 |
lib | 放置一系列库文件。 |
conf | 配置文件 |
include | 用于放置一些头文件,如:mysql.h、mysql_ername.h |
share | 用于存放字符集、语言等信息。 |
my.ini文件 | MySQL的主要配置文件 |
c:\ProgramData\MySQL\MySQL Server 8.0\data\ | 创建的数据库所在的目录 |
1.3、图形化管理工具
1.3.1、MySQL Workbench
MySQL官方提供的图形化管理工具MySQL Workbench支持MySQL 5.0以上的版本,它分为社区版和商业版,社区版免费,而商业版则是按年收费。
MySQL Workbench 为数据库管理员、程序开发者和系统规划师提供可视化设计、模型建立、以及数据库管理功能。它包含了用于创建复杂的数据建模ER模型,正向和逆向数据库工程,也可以用于执行通常需要花费大量时间的、难以变更和管理的文档任务。
使用本地连接,输入密码登录
1.3.2、HeidiSQL
HeidiSQL是一款免费的辅助软件,是用于简单化迷你的MySQL服务器和数据库管理的图形化界面。HeidiSQL提供了一个用于在数据库浏览之间切换 SQL 查询和标签带有语法突出显示的简单易用的界面。
官网:HeidiSQL