二、MySQL 介绍及 MySQL 安装与配置

一、新手如何学习 MySQL

在学习 MySQL 数据库之前,有很多学生都会询问笔者如何才能学习好 MySQL 8.0 的相关技能呢?下面就来讲述学习 MySQL 的方法。

  1. 培养兴趣。兴趣是最好的老师,不论学习什么知识,兴趣都可以极大地提高学习效率。当然,学习 MySQL 也不例外。
  2. 夯实基础。计算机领域的技术非常强调基础,刚开始学习可能还认识不到这一点,随着技术应用的深入,只有打下扎实的基础功底,才能在技术的道路上走得更快、更远。对于 MySQL 的学习来说,SQL 语句是其中最为基础的部分,很多操作都是通过 SQL 语句来实现的。所以在学习的过程中,要多编写 SQL 语句,对于同一个功能,使用不同的实现语句来完成,从而深刻理解其不同之处。
  3. 及时学习新知识。正确、有效地利用搜索引擎,可以搜索到很多关于 MySQL 的相关知识。同时,参考别人解决问题的思路,也可以吸取别人的经验,及时获取最新的技术资料。建议观看一手资料:官网。
  4. 多实践操作。数据库系统具有极强的操作性,需要多动手上机操作。在实际操作的过程中才能发现问题,并思考解决问题的方法和思路,只有这样才能提高实战的操作能力。

二、MySQL 介绍

2.1 百科定义

MySQL 是一个 关系型数据库管理系统,由瑞典 MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的 关系型数据库管理系统 之一,在 WEB 应用方面,MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

MySQL 的象征符号是一只名为 Sakila 的海豚,代表着 MySQL 数据库和团队的速度、能力、精确和优秀本质。在这里插入图片描述

MySQL 所使用的 SQL 语言 是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型和大型网站的开发都选择 MySQL 作为网站数据库。

2.2 创始人简历

姓名:Michael Monty Widenius
生日:1962年3月3日
出生地:芬兰.赫尔辛基
职位:CTO、MySQL创始人

2.3 历史背景

1、1995年5月23日,MySQL 的第一个内部版本。
2、1996年10月,MySQL 3.11.1 发布,只能运行在 Sun Solaris 上。
3、1999-2000年,MySQL AB 公司在瑞典成立。
4、2003年12月,MySQL5.0 版本发布。
5、2008年1月,MySQL AB 公司被 Sun 公司以10亿美金收购。
6、2009年4月20日,Oracle公司以74亿美元收购Sun公司,同年,开启新分支,MariaDB 项目成立。

百科定义:MariaDB 由 MySQL 的创始人 Michael Widenius (英语: Michael Widenius) 主导开发,他早前曾以10亿美元的价格,将自己创建的公司 MySQL AB 卖给了 SUN,此后,随着 SUN 被甲骨文收购,MySQL 的所有权也落入 Oracle 的手中。在这里插入图片描述

7、2013年6月18日,甲骨文公司修改MySQL授权协议,移除了GPL,将MySQL分为社区版和商业版。社区版依然可以免费使用,但是功能更全的商业版需要付费使用。
8、2018年4月,MySQL8.0.11 发布。

MySQL 从无到有,到技术的不断更新、版本的不断升级,经历了一个漫长的过程,这个过程是实践的过程,是 MySQL 成长的过程。时至今日,MySQL 的版本已经更新到了 MySQL 8.0。

2.4 MySQL 的优势

MySQL 是一款自由软件,任何人都可以从其官方网站下载。MySQL 是一个真正的多用户、多线程 SQL 数据库服务器。它采用 客户端/服务器 体系结构,由一个服务器守护程序 mysqld 和很多不同的客户程序及库组成。它能够快捷、有效和安全地处理大量的数据。相对于 Oracle 等数据库来说,MySQL 在使用时非常简单。MySQL 的主要目标是快捷、便捷和易用。MySQL 被广泛地应用在 Internet 上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源代码,成为多数中小型网站为了降低网站总体拥有成本而选择的网站数据库。

2.5 MySQL 版本

针对不同用户,MySQL 分为两个不同的版本:

  1. MySQL Community Server(社区版服务器): 该版本完全免费,但是官方不提供技术支持。专栏以社区版为例进行讲解
  2. MySQL Enterprise Server(企业版服务器): 能够以很高的性价比为企业提供数据仓库应用,支持 ACID 事物处理,提供完整的提交、回滚、崩溃恢复和行级锁定功能。但是该版本需付费使用,官方提供电话技术支持。

提示:MySQL Cluster 主要用于架设集群服务器,需要在社区版或企业版基础上使用。

MySQL版本的命名机制由3个数字和1个后缀组成,例如:MySQL-8.0.28 版本。

第1个数字(8)是主版本号,描述了文件格式,所有版本8的发行版都有相同的文件格式。
第2个数字(0)是发行级别,主版本号和发行级别组合在一起便构成了发行序列号。
第3个数字(28)是在此发行系列的版本号,随每次新分发版本递增。通常选择已经发行的最新版本。

在 MySQL 开发过程中,同时存在多个发布系列,每个发布处在软件成熟度的不同阶段:

  1. MySQL 8.0 是最新开发的稳定(GA)发布系列,是将执行新功能的系列,目前已经可以正常使用。专栏学习 MySQL 8.0 版本
  2. MySQL 5.7是比较稳定(GA)发布系列。只针对漏洞修复重新发布,没有增加会影响稳定性的新功能。

2.6 MySQL 特性

MySQL 是一个真正的多用户、多线程 SQL 数据库服务器。SQL(结构化查询语言) 是世界上最流行的和标准化的数据库语言。MySQL的特性如下:

  1. 使用 C 和 C++ 语言编写,并使用了多种编译器进行测试,保证源代码的可移植性。
  2. 支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows 等多种操作系统。跨平台
  3. 为多种编程语言提供了 API。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。
  4. 支持多线程,充分利用 CPU 资源。它能够快速、有效和安全的处理大量的数据。相对于 Oracle 等数据库来说,MySQL 的使用是非常简单的。MySQL 主要目标是快速、健壮和易用。
  5. 优化的 SQL 查询算法,有效地提高查询速度。
  6. 既能够作为一个单独的应用程序应用在客户端/服务器网络环境中,也能够作为一个库而嵌入其他软件中提供多语言支持,常见的编码,如中文的 GB2312、BIG5,日文的 Shift_JIS 等都可以用作数据表名和数据列名。
  7. 提供 TCP/IP、ODBC 和 JDBC 等多种数据库连接途径。
  8. 提供用于管理、检查、优化数据库操作的管理工具。
  9. 可以处理拥有上千万条记录的大型数据库。

目前,MySQL 的最新版本是 MySQL 8.0,它比上一个版本(MySQL 5.7) 具备更多新的特性。

1、性能: MySQL 8.0 的速度要比 MySQL 5.7 快2倍。MySQL 8.0 在以下方面带来了更好的性能,包括 读/写工作负载、I/O密集型工作负载,以及高竞争(hot spot—热点竞争问题)工作负载。 MySQL 8.0 性能与 MySQL 5.6、MySQL 5.7 对比如下图所示:
在这里插入图片描述
2、NoSQL:从 MySQL 5.7 开始,提供 NoSQL 存储功能,在 MySQL 8.0 中这部分功能得到了更大的改进。该功能消除了对独立的 NoSQL 文档数据库的需求,而 MySQL 文档存储也为 schema-less 模式的 JSON 文档提供了多文档事务支持和完整的 ACID 合规性。

3、窗口函数(Window Functions): 从 MySQL 8.0 开始,新增了窗口函数,可以用来实现若干新的查询方式。窗口函数与 SUM()、COUNT() 这种集合函数类似,但它不会将多行查询结果合并为一行,而是将结果放回多行当中,即窗口函数不需要 GROUP BY。

4、隐藏索引: 在 MySQL 8.0 中,索引可以被隐藏和显示。当索引将隐藏后,便不会被查询优化器所使用。可以将这个特性用于性能调试,例如先隐藏一个索引,然后观察其对数据库的影响。如果数据库性能有所下降,说明这个索引是有用的,然后将其恢复显示即可;如果数据库性能基本无变化,说明这个索引是多余的,可以考虑将其删除。

5、降序索引: MySQL 8.0 为索引提供按降序方式进行排序的支持,在这种索引中的值也会按降序的方式进行排序。

6、通用表表达式(Common Table Expressions,CTE): 在复杂的查询中使用嵌入式表时,使用 CTE 使得查询语句更清晰。

7、UTF-8 编码: 从 MySQL 8.0 开始,使用 utf8mb4 作为默认字符集。

8、JSON: MySQL 8.0 大幅改进了对 JSON 的支持,添加了基于路径查询参数从 JSON 字段中抽取数据的 JSON_EXTRACT() 函数,以及用于将数据分别组合到 JSON 数组和对象中的 JSON_ARRAYAGG() 和 JSON_OBJECTAGG() 聚合函数。

9、可靠性: InnoDB 现在支持表 DDL 的原子性,也就是 InnoDB 表上的 DDL 也可以实现事务完整性,要么失败回滚,要么成功提交,不至于出现部分成功的问题,此外还支持 crash-safe 特性,元数据存储在单个事务数据字典中。

10、高可用性(High Availability): InnoDB 集群为数据库提供集成的原生 HA 解决方案。

11、安全性: OpenSSL改进、新的默认身份验证、SQL角色、密码强度、授权。

MySQL 与其他大型数据库(如Oracle、DB2、SQL Server等)相比,确有不足之处,如规模小、功能有限等,但是这丝毫也没有减少它受欢迎的程度。对于个人使用者和中小型企业来说,MySQL 提供的功能已经绰绰有余,而且由于 MySQL 是开放源代码软件,因此可以大大降低总体拥有成本。此外,Python、Java 和 JavaScript 等编程语言都可以方便地连接并管理 MySQL 数据库。

2.7 MySQL 的应用环境

MySQL 是目前世界上最流行的开源关系数据库,大多应用于互联网行业。比如,在国内,大家所熟知的百度、腾讯、淘宝、京东、网易、新浪、抖音等,国外的 Google、Facebook、Twitter、GitHub 等都在使用 MySQL。社交、电商、游戏的核心存储往往也是 MySQL。

任何产品都不可能是万能的,也不可能适用于所有的应用场景。那么 MySQL 到底适用于哪些场景又不适用于哪些场景呢?

1、Web 网站系统。 Web 网站开发者是 MySQL 最大的客户群,也是 MySQL 发展史上最为重要的支撑力量。MySQL 之所以能成为 Web 网站开发者们最青睐的数据库管理系统,是因为 MySQL 数据库的安装配置都非常简单,使用过程中的维护也不像很多大型商业数据库管理系统那么复杂,而且性能出色。还有一个非常重要的原因就是 MySQL 是开放源代码的,完全可以免费使用。

2、日志记录系统。 MySQL 数据库的插入和查询性能都非常的高效,如果设计的好,在使用 MyISAM 存储引擎的时候,两者可以做到互不锁定,达到很高的并发性能。所以,对需要大量的插入和查询日志记录的系统来说,MySQL 是非常不错的选择。比如处理用户的登录日志,操作日志等,都是非常适合的应用场景。

3、数据仓库系统。 随着现在数据仓库数据量的飞速增长,我们需要的存储空间越来越大。数据量的不断增长,使数据的统计分析变得越来越低效,也越来越困难。下面是几个主要的解决思路。

  1. 采用昂贵的高性能主机以提高计算性能,用高端存储设备提高 I/O 性能,效果理想,但是成本非常高;
  2. 通过将数据复制到多台使用大容量硬盘的廉价 PC Server 上,以提高整体计算性能和 I/O 能力,效果尚可,存储空间有一定限制,成本低廉;
  3. 通过将数据水平拆分,使用多台廉价的 PC Server 和本地磁盘来存放数据,每台机器上面都只有所有数据的一部分,解决了数据量的问题,所有 PC Server 一起并行计算,也解决了计算能力问题,通过中间代理程序调配各台机器的运算任务,既可以解决计算性能问题又可以解决 I/O 性能问题,成本也很低廉。

在上面的三个方案中,第二和第三个的实现,MySQL 都有较大的优势。通过 MySQL 的简单复制功能,可以很好的将数据从一台主机复制到另外一台 ,不仅仅在局域网内可以复制,在广域网同样可以。当然,很多人可能会说,其他的数据库同样也可以做到,不是只有 MySQL 有这样的功能。确实,很多数据库同样能做到,但是 MySQL 是免费的,其他数据库大多都是按照主机数量或者 cpu 数量来收费,当我们使用大量的 PC Server 的时候,License 费用相当惊人。所以第一个方案,基本上所有数据库系统都能够实现,但是其高昂的成本不是每一个公司都能够承担的。

4、嵌入式系统。嵌入式环境对软件系统最大的限制是硬件资源非常有限,在嵌入式环境下运行的软件系统,必须是轻量级低消耗的软件。MySQL 在资源的使用方面的伸缩性非常大,可以在资源非常充裕的环境下运行,也可以在资源非常少的环境下正常运行。它对于嵌入式环境来说,是一种非常合适的数据库系统,而且 MySQL 有专门针对于嵌入式环境的版本。

MySQL 的定位是通用数据库,各种类型的应用一般都能利用到 MySQL 存取数据的优势。业内生产实践证明,MySQL 更适合中小型企业。以目前的软硬件产品水平来看,如果数据超过几个 TB 将难以高效利用 MySQL。MySQL 可以作为传统的关系型数据库产品使用,也可以当作一个 key-value 产品来使用。由于它具有优秀的灾难恢复功能,因此相对于目前市场上的一些 key-value 产品会更有优势。

2.8 数据库专业术语

在正式学习 MySQL 数据库前,我们有必要先了解一下数据库中的专业术语。下面汇总了一些在学习 MySQL 过程中会遇到的专业术语。

数据库管理系统(DBMS) 是位于操作系统与用户之间的一种操纵和管理数据库的软件。关系型数据库通过关系数据库管理系统(RDBMS)进行管理。

关系(Relational,即 RDBMS 里的 R) 表示这是一种特殊的 DBMS,数据库中表与表之间要存在关系。

数据库(DataBase,即 RDBMS 里的 DB) 是一个用来存储和管理数据的仓库。它的存储空间很大,并且有一定的数据存放规则。通过由行和列组成的二维表(类似 Excel 工作表)来管理数据。数据库中可以同时存储多个表。

管理系统(Management System,即 RDBMS 里的 MS) 是一个软件,我们可以通过它来插入(insert)、查询(query)、修改(modify)或删除(delete)表中的数据。

用来管理数据的二维表在关系数据库中简称为 表(Table),每个表由多个 行(Row)和列(Column) 组成。

表的列(垂直方向)称为字段,是具有相同数据类型的数据集合。表的行(水平方向)称为记录(Record),相当于一条数据。记录可以包含多项信息,表中的每一列都对应于其中的某一项。下图是一个统计学生信息的 student 表。可以看到,每个列都包含了所有学生的某个信息,比如 name(姓名)。而每行则包含了某个学生的所有信息,即 id(编号)、name(姓名)、 age (年龄)、stuno(学号)等。
在这里插入图片描述
SQL(Structured Query Language,结构化查询语言) 是用来操作关系型数据库的语言,使用 SQL 可以对数据库和表进行添加、删除、修改和查询等操作。

2.9 MySQL 客户端和服务器架构(C/S架构)

客户端-服务器(Client/Server)结构简称 C/S 结构, 是一种网络架构,通常在该网络架构下的软件分为客户端和服务器。服务器是整个应用系统资源的存储和管理中心,多个客户端分别各自处理相应的功能,共同实现完整的应用。在客户/服务器结构中,客户端用户的请求被传送到数据库服务器,数据库服务器进行处理后,将结果返回给用户,从而减少网络数据的传输量。

用户在使用应用程序时,首先启动客户端,然后通过相关命令告知服务器进行连接以完成各种操作,而服务器则按照此请示提供相应的服务。每一个客户端软件的实例都可以向一个服务器或应用程序服务器发出请求。客户端和服务器程序通常不在同一台计算机上运行,比如,我们平时在当当网上买书的时候,所使用的电脑和网页浏览器就被当做了一个客户端,同时,组成当当网的电脑、数据库和应用程序就被当做服务器。

数据库管理系统可分为两类:一类是基于 共享文件系统 的数据库管理系统,例如 Microsoft Access 和 FileMaker,主要用于桌面用途,不适合用于高端或更关键的应用;另一类是基于 客户端-服务器 的数据库管理系统,例如 MySQL、Oracle 和 SQL Server 等数据库。

服务器软件负责访问和处理所有数据的一个软件,这个软件运行在称为数据库服务器的计算机上,并且与数据文件打交道的只有服务器软件。关于数据的添加、删除和更新等所有的请求都由服务器完成。这些请求来自于运行客户端的计算机。客户端用来和用户打交道。例如,如果你请求一个按字母顺序列出的产品表,则客户端会通过网络提交该请求给服务器,服务器处理这个请求,然后根据需要对数据进行过滤、丢弃和排序,最后把结果返回到客户端。

注意:客户端和服务器可以安装在两台计算机或一台计算机上,不管它们在不在相同的计算机上,客户端都要与服务器进行通信。以上这些过程对用户都是透明的,你不需要直接访问数据文件。为了使用 MySQL,你需要访问运行 MySQL 服务器的计算机和发布命令到 MySQL 客户端的计算机。

对于 MySQL 数据库管理系统,服务器为MySQL DBMS。你可以在本地安装的副本上运行,也可以连接到运行在你具有访问权的远程服务器上的一个副本。客户端可以是 MySQL 提供的工具(如 MySQL Workbench、SQLyog、DataGrip、Navicat)、脚本语言(如Perl)、Web 应用开发语言(如ASP、ColdFusion、JSP 和 PHP)和程序设计语言(如 C、C++、Java、Python)等。

2.10 MySQL 内部结构

麻雀虽小,五脏俱全。MySQL 虽然以简单著称,但其内部结构并不简单,本小节主要介绍 MySQL 的整体架构组成。学习 MySQL 就好比盖房子,如果想把房子盖的特别高,地基一定要稳,基础一定要牢固。学习 MySQL 数据库前要先了解它的内部结构,这是学好 MySQL 数据库的前提。

MySQL 由连接池、SQL 接口、解析器、优化器、缓存、存储引擎等组成,可以分为三层,即 MySQL Server 层、存储引擎层和文件系统层。MySQL Server 层又包括连接层和 SQL 层。如下是官方文档中 MySQL 的基础架构图:
在这里插入图片描述
上图中,Connection pool 为连接层,Management Services & Utilities …Caches & Buffers 为 SQL 层,Pluggable Storage Engines 为存储引擎层,File system、Files & Logs 为文件系统层。

Co​nnectors 不属于以上任何一层,可以将 Co​nnectors 理解为各种客户端、应用服务,主要指的是不同语言与 SQL 的交互。

1、连接层。 应用程序通过接口(如 ODBC、JDBC)来连接 MySQL,最先连接处理的是连接层。连接层包括通信协议、线程处理、用户名密码认证 3 部分。

  1. 通信协议负责检测客户端版本是否兼容 MySQL 服务端。
  2. 线程处理是指每一个连接请求都会分配一个对应的线程,相当于一条 SQL 对应一个线程,一个线程对应一个逻辑 CPU,在多个逻辑 CPU 之间进行切换。
  3. 密码认证用来验证用户创建的账号、密码,以及 host 主机授权是否可以连接到 MySQL 服务器。

Connection Pool(连接池)属于连接层。由于每次建立连接都需要消耗很多时间,连接池的作用就是将用户连接、用户名、密码、权限校验、线程处理等需要缓存的需求缓存下来,下次可以直接用已经建立好的连接,提升服务器性能。

2、SQL层。 SQL 层是 MySQL 的核心,MySQL 的核心服务都是在这层实现的。主要包含权限判断、查询缓存、解析器、预处理、查询优化器、缓存和执行计划。

  1. 权限判断可以审核用户有没有访问某个库、某个表,或者表里某行数据的权限。
  2. 查询缓存通过 Query Cache 进行操作,如果数据在 Query Cache 中,则直接返回结果给客户端,不必再进行查询解析、优化和执行等过程。
  3. 查询解析器针对 SQL 语句进行解析,判断语法是否正确。
  4. 预处理器对解析器无法解析的语义进行处理。
  5. 查询优化器对 SQL 进行改写和相应的优化,并生成最优的执行计划,就可以调用程序的 API 接口,通过存储引擎层访问数据。

Management Services & Utilities、SQL Interface、Parser、Optimizer 和 Caches & Buffers 属于 SQL 层,详细说明如下表所示:

名称说明
Management Services & UtilitiesMySQL 的系统管理和控制工具,包括备份恢复、MySQL 复制、集群等。
SQL Interface(SQL 接口)用来接收用户的 SQL 命令,返回用户需要查询的结果。例如 SELECT FROM 就是调用 SQL Interface。
Parser(查询解析器)在 SQL 命令传递到解析器的时候会被解析器验证和解析,以便 MySQL 优化器可以识别的数据结构或返回 SQL 语句的错误。
Optimizer(查询优化器)SQL 语句在查询之前会使用查询优化器对查询进行优化,同时验证用户是否有权限进行查询,缓存中是否有可用的最新数据。它使用“选取-投影-连接”策略进行查询。 例如 SELECT id, name FROM student WHERE gender = "女";语句中,SELECT 查询先根据 WHERE 语句进行选取,而不是将表全部查询出来以后再进行 gender 过滤。SELECT 查询先根据 id 和 name 进行属性投影,而不是将属性全部取出以后再进行过滤,将这两个查询条件连接起来生成最终查询结果。
Caches & Buffers(查询缓存)如果查询缓存有命中的查询结果,查询语句就可以直接去查询缓存中取数据。这个缓存机制是由一系列小缓存组成的,比如表缓存、记录缓存、key 缓存、权限缓存等。

3、存储引擎层。 Pluggable Storage Engines 属于存储引擎层。存储引擎层是 MySQL 数据库区别于其他数据库最核心的一点,也是 MySQL 最具特色的一个地方。主要负责 MySQL 中数据的存储和提取。因为在关系数据库中,数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和操作此表的类型)。

4、文件系统层。 文件系统层主要是将数据库的数据存储在操作系统的文件系统之上,并完成与存储引擎的交互。

说明:学习阅读完本节内容,了解 MySQL 体系结构即可,教程后面会详细介绍每个模块。

三、MySQL 服务器的安装和配置

MySQL 是目前非常流行的开放源代码的数据库,是完全网络化的跨平台的关系型数据库系统。任何人都能从 Internet 上下载 MySQL 的社区版本,而无须支付任何费用,并且开放源代码意味着任何人都可以使用和修改该软件,如果愿意,用户可以研究源代码并进行恰当的修改,以满足自己的需求,不过需要注意的是,这种 自由 是有范围的。

3.1 Windows 平台下载安装配置 MySQL8.0

3.1.1 MySQL 服务器安装包下载

MySQL 服务器的安装包可以到 https://www.mysql.com/downloads/ 中下载。下载的具体步骤如下:

1、 在浏览器的地址栏中输入 URL 地址 https://www.mysql.com/downloads/,进入 MySQL下载页面,如下图所示:

2、 向下滚动鼠标,找到并单击 MySQL Community (GPL) Downloads » 超链接,进入 MySQL Community Downloads 页面,如下图所示:


3、 单击 MySQL Community Server 超链接,进入 Download MySQL Community Server 页面,找到下图所示的位置:
在这里插入图片描述
4、 根据自己的操作系统来选择合适的安装文件,这里以针对 Windows 32 位操作系统的完整版 MySQL Server 为例进行介绍,单击上图中所示的 MySQL Installer for Windows 图片,进入 Download MySQL Installer 页面,在该页面中,找到下图所示的位置:

5、 单击 Download 按钮,进入下图所示的 Begin Your Download 页面:

6、 单击 No thanks, just start my download. 超链接,即可看到安装文件的下载信息,如下图所示:

3.1.2 MySQL 服务器安装

下载完成以后,将得到一个名为 mysql-installer-community-8.0.31.0.msi 的安装文件,双击该文件可以进行 MySQL 服务器的安装,具体的安装步骤如下:

1、 双击 mysql-installer-community-8.0.31.0.msi 文件,打开安装向导对话框。弹出如下图所示的一些对话框:


在这里插入图片描述
2、 将出现 Choosing a Setup Type 界面,选中 Developer Default,安装全部产品,如下图所示:

3、 单击 Next 按钮,将打开 Check Requirements 界面,在该界面中检查系统是否具备所必需的插件,如下图所示:

4、 单击 Execute 按钮,等待安装完成,安装过程中可能会弹出一些新的对话框,接受安装即可,如下图所示:
在这里插入图片描述
单击 Execute 按钮之后,将开始安装,并显示安装进度。安装完成后,将显示如下图所示的界面:

5、 单击 Next 按钮,将打开如下图所示的对话框,单击 Yes 按钮,将在线安装所需插件:
在这里插入图片描述
安装完成后,将显示下图所示的界面:

6、 单击 Execute 按钮,将开始安装,并显示安装进度。安装完成后,将显示如下图所示的界面:

7、 单击 Next 按钮,将打开如下图所示的 Product Configuration 界面,对数据库进行配置:

8、 单击 Next 按钮,将打开 Type and Networking 界面,可以在其中设置服务器类型以及网络连接选项,最重要的是设置端口,这里保持默认的 3306 端口,如下图所示:

单击 Next 按钮,将打开如下图所示的 Authentication Method 界面:

如果说后续你要使用低版本图形化管理工具,类似 phpMyAdmin、Navicat11等,建议选用传统授权方法(保留5.x版本兼容性), 如下图所示:
在这里插入图片描述
9、 单击 Next 按钮,将打开 Accounts and Roles 界面,可以设置 root 用户的登录密码,也可以添加新用户,这里只设置 root 用户的登录密码为 root,其他采用默认设置,如下图所示:

10、 单击 Next 按钮,将打开 Windows Service 界面,开始配置 MySQL 服务器,这里采用默认设置,如下图所示:

11、 单击 Next 按钮,将显示如下图所示的 Server File Permissions 界面。

12、 单击 Next 按钮,进入 Apply Configuration(应用配置) 界面,如下图所示:

单击 Execute 按钮,进行应用配置,配置完成后如下图所示:

13、 单击 Finish 按钮,安装程序又回到了之前的 Product Configuration 界面,此时出现 MySQL Server 安装成功的提示:

14、 单击 Next 按钮,打开如下图所示的 MySQL Router Configuration 界面,可以在其中配置路由。

15、 单击 Finish 按钮,安装程序又回到了之前的 Product Configuration 界面:

16、 单击 Next 按钮,打开 Connect To Server 界面,输入数据库用户名 root,密码 root,单击 Check 按钮,进行 MySQL 连接测试,如下图所示,可以看到数据库测试连接成功:

17、 单击 Next 按钮,进入下图所示的 Apply Configuration 界面,单击 Execute 按钮进行配置,此过程需等待几分钟。

18、 运行完毕后,出现如下图所示界面:

单击 Finish 按钮,打开如下图所示界面:

单击 Next 按钮,出现如下界面,在点击 Finish 按钮,至此安装完毕。

安装完毕之后,会弹出 MySQL Shell 及 MySQL Workbench 8.0 CE,关闭掉即可。

3.1.3 启动、连接、断开和停止 MySQL 服务器

通过系统服务器和 命令提示符(DOS) 都可以启动、连接和关闭MySQL,操作非常简单。下面以 Windows10 操作系统为例,讲解其具体的操作流程。通常情况下不要停止 MySQL 服务器,否则数据库将无法使用。

1、启动和停止MySQL服务器。 启动和停止 MySQL 服务器的方法有两种:系统服务和命令提示符。

通过系统服务启动、停止 MySQL 服务器。如果 MySQL 设置为 Windows 服务,快捷键 Win + R,输入 services.msc,如下图所示:
在这里插入图片描述
输入完成之后,单击确定按钮,如下图所示:
在这里插入图片描述
在服务器的列表中找到 MySQL 服务并右击,在弹出的快捷菜单中完成 MySQL 服务的各种操作(启动、重新启动、停止、暂停和恢复),如下图所示:(可以通过输入 M 字母快速定位 M 开头的服务)

2、在命令提示符下启动、停止MySQL服务器。

按下快捷键 Win + R,在出现的文本输入框中输入 cmd 命令,然后以管理员身份运行:

在这里插入图片描述
在命令提示符下输入 net stop mysql,此时再按 Enter 键,即可停止 MySQL 服务器。
在这里插入图片描述
在命令提示符下输入:net start mysql,此时再按 Enter 键,即可启用 MySQL 服务器。
在这里插入图片描述

3.1.4 配置环境变量

为了后续方便使用 mysql 命令,故设置环境变量。下面介绍这个环境变量的设置方法,其步骤如下:

① 右击 计算机 图标,在弹出的快捷菜单中选择 属性 命令,在弹出的对话框中选择 高级系统设置,弹出 系统属性 对话框,如下图所示:

②在 系统属性 对话框中,选择 高级 选项卡,单击 环境变量 按钮,弹出 环境变量 对话框,如下图所示:

③在 环境变量 对话框中,定位到 系统变量 中的 Path 选项,单击 编辑 按钮,弹出 编辑系统变量 对话框,如下图所示:

④在 编辑系统变量 对话框中,将 MySQL 服务器的 bin 文件夹位置 (C:\Program Files\MySQL\MySQL Server 8.0\bin) 添加到 变量值 文本框中。最后,单击 确定 按钮。然后之前弹出的对话框,一直点击确定即可。

环境变量设置完成后,再使用 mysql 命令就非常方便了。

3.1.4 连接和断开 MySQL 服务器

下面分别介绍连接和断开 MySQL 服务器的方法。

1、连接MySQL服务器。 连接 MySQL 服务器通过 mysql 命令实现。在 MySQL 服务器启动后,按照上面介绍的方法进入 DOS 窗口,在命令提示符下输入:
在这里插入图片描述
输入完命令语句后,按 Enter 键即可连接 MySQL 服务器,如下图所示:
在这里插入图片描述

注意:在连接 MySQL 服务器时,MySQL 服务器所在地址(如 –h127.0.0.1)可以省略不写。为了保护 MySQL 数据库的密码,可以采用上图所示的加密密码输入方式。如果密码在 -p 后直接给出,那么密码就以明文显示,例如:mysql –u root –h127.0.0.1 –p root

2、断开MySQL服务器。 连接到 MySQL 服务器后,可以通过在 MySQL 提示符下输入 exit 或者 quit 命令断开 MySQL 连接,格式:exit; 或者 quit;
在这里插入图片描述

3.2 Windows 平台下载安装配置 Mariadb

1、 双击下载后的软件安装包 mariadb-10.5.9-winx64.msi ,如下图所示:

2、 单击 Next 按钮,勾选 I accept the terms in the License Agreement 前的单选框,单击 Next 按钮,如下图所示:

3、 继续 Next 按钮,如下图所示:

4、 设置密码,并勾选两个单选框,单击 Next 按钮,如下图所示:

5、 更改默认端口,单击 Next 按钮,如下图所示:

6、 单击 Install 按钮进行安装,如下图所示:



7、 单击 Finish 按钮完成安装,如下图所示:

3.3 Windows 平台下载安装 xampp(建议使用该种方式)

下载:https://www.apachefriends.org/zh_cn/download.html
双击下载好的 xampp-windows-x64-8.2.0-0-VS16-installer.exe 文件,弹出验证,选择 ,如下图所示:

弹出警告,单击确定即可,如下图所示:
在这里插入图片描述
单击 Next 按钮,如下图所示:

单击 Next 按钮,如下图所示:

设置安装路径,安装到自己比较熟悉的位置,前面的警告建议不要安装到 C:\Program Files 目录下,安装目录设置好之后单击 Next 按钮,如下图所示:

设置语言,单击 Next 按钮,如下图所示:




单击 Finish 完成安装,如下图所示:

按键盘上的 Win 键,找到 XAMPP 文件夹,单击 XAMPP Control Panel,如下图所示:
在这里插入图片描述
注意:Start 之前先要停掉本地的单独安装的 MySQL 及 Mariadb 服务,否则端口冲突会报错。如下图所示:

在服务中关闭上述所说的 MySQL 及 Mariadb 服务之后,Start 之后成功启动,如下图所示:


3.4 Linux 下安装 mysql及 mariadb(简单安装: RPM 包安装 MySQL)

CentOS 安装光盘
项目官方:https://downloads.mariadb.org/mariadb/repositories/
国内镜像:https://mirrors.tuna.tsinghua.edu.cn/mariadb/yum/ https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/
CentOS 8:安装光盘直接提供 mysql-server:8.0、mariadb-server : 10.3.28
CentOS 7:安装光盘直接提供 mariadb-server:5.5.68 服务器包、mariadb 客户端工具包
CentOS 6:mysql-server:5.1 服务器包 mysql 客户端工具包

3.4.1 Centos7 安装 mariadb

yum info mariadb-server 如下图所示:

安装:yum install -y mariadb-server
启动服务:systemctl enable --now mariadb,如下图所示:
在这里插入图片描述
yum 安装之后直接使用 mysql 即可登录,省略了密码,如下图所示:
在这里插入图片描述
针对 MySQL5.6 前版本进行安全加固,执行脚本:mysql_secure_installation,主要目的:

设置数据库管理员root口令
禁止root远程登录
删除anonymous用户帐号
删除test数据库

如下图所示:
在这里插入图片描述

3.4.2 CentOS 7 利用 yum 源安装 MySQL5.7

1、添加源:

tee /etc/yum.repos.d/mysql.repo <<EOF
[mysql]
name=mysql5.7
baseurl=https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-5.7-community-el7-x86_64/
gpgcheck=0
EOF

2、安装: yum -y install mysql-community-server
3、启动服务: systemctl enable --now mysqld
4、查看端口:
在这里插入图片描述
5、登录:

[23:33:52 root@centos7 ~]#mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[23:34:57 root@centos7 ~]#grep password /var/log/mysqld.log
2022-12-30T15:33:18.222669Z 1 [Note] A temporary password is generated for root@localhost: eL(ytwoft0mu
2022-12-30T15:34:57.207047Z 2 [Note] Access denied for user 'root'@'localhost' (using password: NO)
[23:35:11 root@centos7 ~]#mysql -uroot -p'eL(ytwoft0mu'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.40

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
# #使用初始密码登录无法执行操作, 需要修改密码后才可以
mysql> status
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
#修改简单密码不符合密码策略
mysql> alter user root@'localhost' identified by 'amoxiang2021';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
#修改为复杂密码
mysql> alter user root@'localhost' identified by 'AmoXiang123456@';
Query OK, 0 rows affected (0.00 sec)

mysql> status
--------------
mysql  Ver 14.14 Distrib 5.7.40, for Linux (x86_64) using  EditLine wrapper

Connection id:		3
Current database:	
Current user:		root@localhost
SSL:			Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		5.7.40
Protocol version:	10
Connection:		Localhost via UNIX socket
Server characterset:	latin1
Db     characterset:	latin1
Client characterset:	utf8
Conn.  characterset:	utf8
UNIX socket:		/var/lib/mysql/mysql.sock
Uptime:			3 min 21 sec

Threads: 1  Questions: 8  Slow queries: 0  Opens: 107  Flush tables: 1  Open tables: 100  Queries per second avg: 0.039
--------------

mysql> exit;
Bye

3.4.3 CentOS 7 利用 yum 源安装 Mariadb(高版本)

https://mariadb.org/download/?t=mariadb&p=mariadb&r=11.0.0
参考网站信息,配置 yum 源,如下图所示:
在这里插入图片描述
添加源:

tee /etc/yum.repos.d/MariaDB.repo <<EOF
[mariadb]
name = MariaDB
baseurl = https://mirrors.neusoft.edu.cn/mariadb/yum/10.8/centos7-amd64
gpgkey=https://mirrors.neusoft.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1
EOF

安装及登录步骤如下:

sudo yum -y install MariaDB-server MariaDB-client
systemctl enable --now mariadb.service
ss -ntl
[root@localhost ~]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 10.8.6-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> status
--------------
mysql  Ver 15.1 Distrib 10.8.6-MariaDB, for Linux (x86_64) using readline 5.1

Connection id:		3
Current database:	
Current user:		root@localhost
SSL:			Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server:			MariaDB
Server version:		10.8.6-MariaDB MariaDB Server
Protocol version:	10
Connection:		Localhost via UNIX socket
Server characterset:	latin1
Db     characterset:	latin1
Client characterset:	utf8mb3
Conn.  characterset:	utf8mb3
UNIX socket:		/var/lib/mysql/mysql.sock
Uptime:			1 min 7 sec

Threads: 1  Questions: 4  Slow queries: 0  Opens: 17  Open tables: 10  Queries per second avg: 0.059
--------------

MariaDB [(none)]> 
#针对 10.5.2 之后版本安全加固
[root@localhost ~]# mariadb-secure-installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] Y
Enabled successfully!
Reloading privilege tables..
 ... Success!


You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] Y
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

3.4.4 Centos8 安装 mysql

dnf info mysql-server mariadb server,如下图所示:

安装:yum install -y -server
启动服务:systemctl enable --now mysqld,如下图所示:
在这里插入图片描述
yum 安装之后直接使用 mysql 即可登录,省略了密码,如下图所示:
在这里插入图片描述

3.4.5 Centos7/Centos8 安装 mysql8.0(二进制方式安装 工作中还是蛮常用)

3.4.5.1 下载 mysql8.0.30 版本的mysql安装包

(1) 第一种方式:下载地址:https://downloads.mysql.com/archives/community/ 如下图所示:
在这里插入图片描述
下载最新版本的链接:https://dev.mysql.com/downloads/mysql/
在这里插入图片描述
(2) 第二种下载方式:直接使用 wget 命令进行下载:

yum -y install wget
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz

如下图所示:
在这里插入图片描述

3.4.5.2 安装

1、 上传下载好的 mysql 安装包到服务器目录:/data/soft 如果没有该目录 使用命令 mkdir -p /data/soft 创建 (路径根据实际情况更改)。 如下图所示:
在这里插入图片描述
2、 进入 /data/soft 目录并且解压:

cd /data/soft/
xz -d mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz
tar xf mysql-8.0.30-linux-glibc2.12-x86_64.tar

如下图所示:
在这里插入图片描述
3、 移动解压后的目录到 /usr/local/mysql 下:

mv mysql-8.0.30-linux-glibc2.12-x86_64 /usr/local/mysql

4、 配置 mysql(vi /etc/my.cnf) 使用远程连接工具将 /etc 下的 my.cnf 文件替换掉即可,我这里提供了一份比较详细的配置文件,提取链接如下:

链接:https://pan.baidu.com/s/1qQRjbI1fxfvFwYdm4cPe4A 
提取码:qum1 
--来自百度网盘超级会员V8的分享

如下图所示:
在这里插入图片描述
5、 新建用户:adduser mysql(直接使用系统 root 账号启动服务,很不安全)
6、 根据 my.cnf 创建需要的文件夹,并更改文件夹对应的权限:

cd /usr/local/mysql/
mkdir data sql_log undo
chown mysql:mysql -R data/ sql_log/ undo/

7、 配置环境变量 vim /etc/profile,如下图所示:
在这里插入图片描述
8、 初始化:

--user 指定mysql用户,--basedir 指定安装目录,--datadir 指定日志目录
初始化后可以进入data目录,会发现自动生成了系统的数据库
1.mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
2.进行下一步,把启动脚本放到启动目录
cd /usr/local/mysql/support-files/
cp mysql.server /etc/init.d/mysqld

9、 启动 mysql 服务:/etc/init.d/mysqld start,如下图所示:
在这里插入图片描述
10、 查看 mysql 进程:ps -ef|grep mysql
11、 登录 mysql

1.获取默认密码
cd /usr/local/mysql/sql_log/
grep password mysql-error.log
2023-01-02T05:36:55.640833Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: IYyiN5ktuj*g
2.登录
mysql -uroot -pIYyiN5ktuj*g

需要修改初始化密码,否则是无法进行下一步操作的,如下图所示:
在这里插入图片描述
12、 修改默认密码:alter user user() identified by '123456';
在这里插入图片描述

3.4.5.3 加餐:云上安装mysql出现错误解决方案

在云上或者某些轻量级 Linux 系统中初始化 mysql 的时候可能会出现如下错误:
在这里插入图片描述
解决方案如下:

# 初始化之前需要安装如下包 否则会报错
yum -y install numactl libaio libnuma.so.1

安装完成之后,再次执行 mysql 初始化命令,如下图所示,未出现报错:
在这里插入图片描述

3.5 加餐:Windows 卸载 mysql

在 mysql 安装过程中出现错误或者需要升级 mysql 的时候,我们就会卸载 mysql 来进行重新安装。卸载详细步骤如下:

1、停止服务:

方式1:打开DOS,使用net stop mysql服务名称
方式2:【win+R快捷键】--》输入 services.msc --》进入服务窗口关闭mysql服务;

如下图所示:
在这里插入图片描述
2、卸载程序(安装包方式安装):

使用 360 卸载 mysql 程序或【控制面板】》【程序和功能】》右键卸载程序

如下图所示:
在这里插入图片描述
这样卸载会比较慢,需要手动挨个进行卸载,如果你的电脑上还存在原来的 mysql 安装包,双击,如下图所示,直接选择 Remove 即可移除所有已安装的 mysql 相关组件:





3、删除项目根文件夹:进入 mysql 安装位置,删除 mysql 的解压文件夹。C:\Program Files及C:\Program Files (x86) 如下图所示:
在这里插入图片描述
在这里插入图片描述
4、删除C盘隐藏文件夹(安装包方式安装):显示隐藏文件后,删除C盘下的 C:\ProgramData\MySQL 所有文件, 如下图所示:
在这里插入图片描述
5、删除注册表信息。(注册表中不一定还存在mysql相关文件夹)

【win+R快捷键】》输入 regedit 命令打开注册表窗口,删除以下文件:
计算机\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\EventLog\Application\MySQL相关文件夹
计算机\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\EventLog\Application\MySQL相关文件夹
计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\MySQL相关文件夹

如下图所示:

6、删除环境变量里的配置。 如果有更改了环境变量,那么进入【计算机】》右键【属性】》【高级系统设置】》【环境变量】》删除系统变量中 Path 变量中的 mysql 的 bin 路径。
在这里插入图片描述
7、删除 MYSQL 服务。管理员权限 cmd–》 sc delete MySQL服务名字。(安装包方式删除会报错)。

3.6 加餐:Windows 通过解压安装 mysql

1、下载安装包。 下载地址:https://dev.mysql.com/downloads/mysql/ 如下图所示:

2、解压软件包。 将 mysql 软件包解压在没有中文和空格的目录下,如下图所示:
在这里插入图片描述
3、设置配置文件。 在解压目录创建 my.ini 文件
在这里插入图片描述
添加内容如下:

[mysqld]
port=3306
character-set-server=utf8
default-storage-engine=Innodb
[mysql]
default-character-set=utf8
[client]
port=3306
default-character-set=utf8

4、将解压后的 mysql bin 路径添加到系统环境变量中(文章前部分已详细介绍过,这里不再赘述)。 如下图所示:
在这里插入图片描述
5、服务操作。 使用管理员权限进入 dos 命令窗口,在 cmd 中,进入解压目录下的 bin 目录依次执行以下命令:

# 1.进入解压目录下的bin目录
C:\>cd C:\database\mysql80\bin

# 2.对mysql进行初始化,这里会产生一个临时密码,后续会使用到这个临时密码
C:\database\mysql80\bin>mysqld --initialize --user=mysql --console
2023-01-03T05:13:08.283907Z 0 [System] [MY-013169] [Server] C:\database\mysql80\bin\mysqld.exe (mysqld 8.0.31) initializing of server in progress as process 3880
2023-01-03T05:13:08.286398Z 0 [Warning] [MY-013242] [Server] --character-set-server: 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
2023-01-03T05:13:08.314758Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2023-01-03T05:13:08.996772Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2023-01-03T05:13:10.127524Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: PveWd0by/Li#

# 3.安装mysql服务
C:\database\mysql80\bin>mysqld --install
Service successfully installed.

# 4.启动mysql服务
C:\database\mysql80\bin>net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。

# 5.登录mysql 这里要使用之前产生的临时密码
C:\database\mysql80\bin>mysql -uroot -pPveWd0by/Li#
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.31

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
# 修改root用户密码
mysql> alter user 'root'@'localhost' identified with mysql_native_password by '123456';
Query OK, 0 rows affected (0.00 sec)
# 修改root用户权限
mysql> create user 'root'@'%' identified with mysql_native_password by '123456';
Query OK, 0 rows affected (0.01 sec)

mysql>

至此今天的学习就到此结束了,笔者在这里声明,笔者写文章只是为了学习交流,以及让更多学习数据库的读者少走一些弯路,节省时间,并不用做其他用途,如有侵权,联系博主删除即可。感谢您阅读本篇博文,希望本文能成为您编程路上的领航者。祝您阅读愉快!


在这里插入图片描述

    好书不厌读百回,熟读课思子自知。而我想要成为全场最靓的仔,就必须坚持通过学习来获取更多知识,用知识改变命运,用博客见证成长,用行动证明我在努力。
    如果我的博客对你有帮助、如果你喜欢我的博客内容,请 点赞评论收藏 一键三连哦!听说点赞的人运气不会太差,每一天都会元气满满呦!如果实在要白嫖的话,那祝你开心每一天,欢迎常来我博客看看。
 编码不易,大家的支持就是我坚持下去的动力。点赞后不要忘了 关注 我哦!

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Amo Xiang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值