【MySQL基础篇】MySQL概述、Windows下载MySQL8.0超详细图文安装教程

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 在这一章节,主要介绍两个部分,数据库相关概念及MySQL数据库的介绍、下载、安装、启动及连接。接着,详细描述了MySQL 8.0的版本选择与下载,推荐使用社区版(免费)。安装过程包括自定义安装路径、配置环境变量、启动和停止服务、以及客户端连接测试。此外,还提供了在同一台电脑上安装多个MySQL版本的方法及卸载步骤。最后,解释了关系型数据库(RDBMS)的特点,即基于二维表存储数据,使用SQL语言进行操作,格式统一且便于维护。通过具体的结构图展示了MySQL的数据模型,说明了数据库服务器、数据库、表和记录之间的层次关系。

MySQL基础篇-概述


MySQL学习相关笔记:https://dhc.pythonanywhere.com/entry/share/?key=3ad29aad765a2b98b2b2a745d71bef715507ee9db8adbec98257bac0ad84cbe4

MySQL学习相关笔记:https://www.letianbiji.com/mysql/

MySQL 8.0官方文档:https://dev.mysql.com/doc/refman/8.0/en/


在这一章节,主要介绍两个部分,数据库相关概念及MySQL数据库的介绍、下载、安装、启动及连接。


一、数据库相关概念

在这一部分,我们先来讲解三个概念:数据库数据库管理系统SQL

名称

全称

简称

数据库

存储数据的仓库,数据是有组织的进行存储

DataBaseDB

数据库管理系统

操纵和管理数据库的大型软件

DataBase Management System (DBMS)

SQL

操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准

Structured Query Language (SQL)

而目前主流的关系型数据库管理系统的市场占有率排名如下:

  • Oracle:大型的收费数据库,Oracle公司产品,价格昂贵。
  • MySQL:开源免费的中小型数据库,后来Sun公司收购了MySQL,而Oracle又收购了Sun公司。
  • 目前Oracle推出了收费版本的MySQL,也提供了免费的社区版本。SQL ServerMicrosoft 公司推出的收费的中型数据库,C#.net等语言常用。
  • PostgreSQL:开源免费的中小型数据库。
  • DB2IBM公司的大型收费数据库产品。
  • SQLLite:嵌入式的微型数据库。Android内置的数据库采用的就是该数据库。
  • MariaDB:开源免费的中小型数据库。是MySQL数据库的另外一个分支、另外一个衍生产品,与MySQL数据库有很好的兼容性。

而不论我们使用的是上面的哪一个关系型数据库,最终在操作时,都是使用SQL语言来进行统一操作,因为我们前面讲到SQL语言,是操作关系型数据库的 统一标准 。所以即使我们现在学习的是MySQL,假如我们以后到了公司,使用的是别的关系型数据库,如:Oracle、DB2、SQLServer,也完全不用担心,因为操作的方式都是一致的。



二、MySQL数据库

1. 版本介绍

官方: https://www.mysql.com/

MySQL官方提供了两种不同的版本:

  • 社区版本(MySQL Community Server

免费, MySQL不提供任何技术支持

  • 商业版本(MySQL Enterprise Edition

收费,可以使用30天,官方提供技术支持

本次我们选择下载MySQL Community Server 8.0.26版本。


2. 软件下载

下载地址:https://dev.mysql.com/downloads/windows/installer/8.0.html


3. 安装包方式安装-Windows版

(1)双击官方下来的安装包文件

(2)根据安装提示进行安装

注意:第一种方式Developer Default默认安装到C盘,C:\Program Files\MySQL\MySQL Server 8.0\,这里选择Custom自定义安装。

选择产品窗口,可以定制需要安装的产品清单。例如,选择“MySQL Server 8.0.26-X64”后,单击“→”添加按钮,即可选择安装MySQL服务器,如图所示。采用通用的方法,可以添加其他你需要安装的产品。

此时如果直接“Next”(下一步),则产品的安装路径是默认的。如果想要自定义安装目录,则可以选中对应的产品,然后在下面会出现“Advanced Options”(高级选项)的超链接。

上面为默认安装界面,ProgramData目录(这是一个隐藏目录),如果没显示,需要到此电脑中的查看中勾选隐藏项目项。如果自定义安装目录,请避免“中文”目录。另外,建议服务目录和数据目录分开存放。

此时如果直接“Next”(下一步),则产品的安装路径是默认的。如果想要自定义安装目录,则可以选中 对应的产品,然后在下面会出现“Advanced Options”(高级选项)的超链接。

安装MySQL的相关组件,这个过程可能需要耗时几分钟,耐心等待。

第一个选项:

使用强密码加密进行身份验证,采用SHA256基础的密码加密方法(已升级)

第二个选项:

使用传统身份验证方法(保留MySQL 5.x兼容性)

如果我们选择了强密码加密进行身份验证,虽然MySQL采用了强密码加密,但是我们的图形化管理软件(SQLyog、Navicat等)却没有采用强密码加密,这回直接导致SQLyog访问不了我们的MySQL,所以这里我们要选择传统的加密方法。

设置MySQL中root用户的密码,两次一致。一定记住该密码,这里为了方便设置为123456

设置服务器名称窗口,如图所示。该服务名会出现在Windows服务列表中,也可以在命令行窗口中使用该服务名进行启动和停止服务。

如果希望开机自启动服务,也可以勾选“Start the MySQL Server at System Startup”选项(推荐)。

下面是选择以什么方式运行服务?可以选择“Standard System Account”(标准系统用户)或者“Custom User” (自定义用户)中的一个。这里推荐前者。

(3)配置

安装好MySQL之后,还需要配置环境变量,这样才可以在任何目录下连接MySQL

A. 在此电脑上,右键选择属性

B. 点击左侧的 "高级系统设置",选择环境变量

C. 找到 Path 系统变量, 点击 "编辑"

D. 选择 "新建" , 将MySQL Server的安装目录下的bin目录添加到环境变量


4. 启动停止服务

MySQL安装完成之后,在系统启动时,会自动启动MySQL服务(cmd:services.msc),我们无需手动启动了。

当然,也可以手动的通过指令启动停止,以管理员身份运行cmd,进入命令行执行如下指令:

# 启动mysql80服务
net start mysql80
# 停止mysql80服务
net stop mysql80

以管理员方式运行:windows搜索cmd-右键-(更多)-以管理员身份运行。

注意 : 上述的 mysql80 是我们在安装MySQL时,默认指定的mysql的系统服务名,不是固定的,如果未改动,默认就是mysql80。


5. 客户端连接测试

(1)方式一:使用MySQL提供的客户端命令行工具

这里要先以管理员身份运行cmd,启动MySQL服务后,再输入密码连接数据库。

(2)方式二:使用系统自带的命令行工具执行指令

mysql [-h 127.0.0.1] [-P 3306] -u root -p
参数:
    -h : MySQL服务所在的主机IP
    -P : MySQL服务端口号, 默认3306
    -u : MySQL数据库用户名
    -p : MySQL数据库用户名对应的密码
[]内为可选参数,如果需要连接远程的MySQL,需要加上这两个参数来指定远程主机IP、端口,如果
连接本地的MySQL,则无需指定这两个参数。

注意: 使用这种方式进行连接时,需要安装完毕后配置PATH环境变量。


6. 卸载-Windows版

(1)停止MySQL服务

win+R 打开运行,输入 services.msc 点击 "确定" 调出系统服务。

(2)卸载MySQL相关组件

打开控制面板 ---> 卸载程序 ---> 卸载MySQL相关所有组件

(3)删除MySQL安装目录

(4)删除MySQL数据目录

默认数据存放目录是在 C:\ProgramData\MySQL,直接将该文件夹删除。

(5)再次打开服务,查看是否有MySQL卸载残留

如果已将MySQL卸载,但是通过任务管理器 ---> 服务,查看到MySQL服务仍然残留在系统服务里。

解决办法:

  • 以管理员方式运行cmd命令行,输入以下命令:
  • sc delete 服务名称(如MySQL80)

这样可以实现删除服务。

最后,重启电脑即可生效。


7. 在同一台电脑上安装两个版本的mysql

在C盘和D盘对应的安装目录下都新建文件夹MySQL Server x.x,这里自定义软件安装目录在D盘,数据库中的数据存放在C盘

8. 相关问题补充

(1)MySQL8.0新加密方式连接第三方客户端工具出错问题

除MySQL自带的客户端工具外,我们还可以使用第三方客户端工具。这里介绍一下如何解决当用Navicat Premium连接MySQL数据库时报的2059错误,如下图所示:

这个错误出现的原因是在mysql8之前的版本中加密规则为mysql_native_password,而在mysql8以后的加密规则为caching_sha2_password。为解决这个问题,可以将MySQL用户登录的加密规则修改为mysql_native_password,成功连接MySQL数据库服务器后,依次输入如下语句:

对于用户root:

# 使用mysql数据库
use mysql;
# 设置密码永不过期
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
# 修改加密规则,并设置新的用户密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码'; 
# 刷新权限
FLUSH PRIVILEGES;

对于新创建的用户test:

# 使用mysql数据库
use mysql;
# @后的%表示任何主机
ALTER USER 'test'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
# @后的%表示任何主机
ALTER USER 'test'@'%' IDENTIFIED WITH mysql_native_password BY '新密码';
# 刷新权限
FLUSH PRIVILEGES;

(2)windows下一般使用的my.ini(mysql5.7、zip安装)

[mysql]
default-character-set=utf8
[mysqld]
port=3306
basedir=D:\\Mysql\\mysql-5.7.31-winx64
datadir=D:\\Mysql\\mysql-5.7.31-winx64\\data
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

三、数据模型

1. 关系型数据库(RDBMS)

概念:建立在关系模型基础上,由多张相互连接的二维表组成的数据库。

而所谓二维表,指的是由行和列组成的表,如下图(就类似于Excel表格数据,有表头、有列、有行,还可以通过一列关联另外一个表格中的某一列数据)。我们之前提到的MySQL、Oracle、DB2、SQLServer这些都是属于关系型数据库,里面都是基于二维表存储数据的。简单说,基于二维表存储数据的数据库就成为关系型数据库,不是基于二维表存储数据的数据库,就是非关系型数据库。

特点:

A. 使用表存储数据,格式统一,便于维护。

B. 使用SQL语言操作,标准统一,使用方便。


2. 数据模型

MySQL是关系型数据库,是基于二维表进行数据存储的,具体的结构图下:

  • 我们可以通过MySQL客户端连接数据库管理系统DBMS,然后通过DBMS操作数据库。
  • 可以使用SQL语句,通过数据库管理系统操作数据库,以及操作数据库中的表结构及数据。
  • 一个数据库服务器中可以创建多个数据库,一个数据库中也可以包含多张表,而一张表中又可以包含多行记录。



相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
Oracle 关系型数据库 MySQL
Mysql(1)—简介及Windows环境下载安装
MySQL 是一个流行的关系型数据库管理系统(RDBMS),基于 SQL 进行操作。它由瑞典 MySQL AB 公司开发,后被 Sun Microsystems 收购,现为 Oracle 产品。MySQL 是最广泛使用的开源数据库之一,适用于 Web 应用程序、数据仓库和企业应用。
64 2
|
7月前
|
存储 关系型数据库 MySQL
【MySQL探索之旅】MySQL数据库下载及安装教程
【MySQL探索之旅】MySQL数据库下载及安装教程
|
关系型数据库 MySQL 数据库
2023 年Windows MySql 5.7,MySql 8.0 下载安装教程, 附详细图解,亲测可用
2023 年Windows MySql 5.7,MySql 8.0 下载安装教程, 附详细图解,亲测可用
|
SQL 关系型数据库 MySQL
MySQL5.5图文安装过程
本文主要介绍MySQL5.5的图文安装过程
106 0
|
SQL 存储 NoSQL
MySQL概述与安装使用
MySQL安装使用
109 2
|
关系型数据库 MySQL 数据库
【MySQL学习笔记】系列二:MySQL环境搭建(卸载、下载、安装、配置、登录)(三)
【MySQL学习笔记】系列二:MySQL环境搭建(卸载、下载、安装、配置、登录)(三)
|
存储 关系型数据库 MySQL
【MySQL学习笔记】系列二:MySQL环境搭建(卸载、下载、安装、配置、登录)(二)
【MySQL学习笔记】系列二:MySQL环境搭建(卸载、下载、安装、配置、登录)(二)
|
关系型数据库 MySQL
【MySQL学习笔记】系列二:MySQL环境搭建(卸载、下载、安装、配置、登录)(一)
【MySQL学习笔记】系列二:MySQL环境搭建(卸载、下载、安装、配置、登录)(一)
|
网络协议 关系型数据库 MySQL
MySQL基础知识(一)-超详细Windows系统安装MySQL详细教程
原计划,今天这篇想要给小伙伴们讲解一下python操作mysql数据库,但是由于近期换了一台新的电脑,所以一看mysql数据库都没安装,所有才有了这篇文章。尽管网上不乏此类型的文章,但是刚好自己要安装,所以就总结和分享一下下了
220 1
MySQL基础知识(一)-超详细Windows系统安装MySQL详细教程
|
关系型数据库 MySQL Linux
在Linux下安装Mysql教程(图文)
在Linux下安装Mysql教程(图文)
614 0
在Linux下安装Mysql教程(图文)