目录
- 1 数据库简介
-
- 1.1 数据库概述
- 1.2 数据库分类
- 1.3 常见数据库介绍
-
- (1)关系型数据库
- (2)非关系型数据库
- 2 MySQL数据库简介
- 3 Windows系统安装MySQL数据库
-
- 3.1 下载MySQL
- 3.2 安装MySQL
- 3.3 添加环境变量
-
- (1)添加环境变量目的
- (2)添加环境变量的步骤
- (3)检测环境变量是否配置成功
- 4 MySQL服务管理
-
- 4.1 开启和停止MySQL服务
- 4.2 连接MySQL数据库
- 5 Linux系统安装MySQL数据库
-
- 5.1 MySQL安装
-
- (1)打开终端窗口
- (2)安装MySQL仓库文件
- (3)安装MySQL服务器
- (4)启动MySQL服务
- (5)获取初始root密码
- (6)进行MySQL安全性配置
- (7)设置MySQL自启动
- (8)验证MySQL安装
- 5.2 登陆MySQL数据库
-
- (1)本地(针对本地MySQL)
- (2)修改root用户密码
- (3)远程(针对远程MySQL,MySQL服务器不再本地)
- (4)退出
1 数据库简介
1.1 数据库概述
数据库是一个管理数据的工具。
数据就像是我们日常生活中的信息和知识,可以是数字、文字、图片、视频等。我们每天都在产生大量的数据,比如在网上搜索信息、在社交媒体上分享照片、在购物网站上购买商品等。
我们可以把数据想象成一张张的纸条,我们每天都在产生大量的数据,就像不停地扔纸条一样。如果没有一个好的管理方法,就会变得混乱不堪,找起东西来也非常麻烦。
数据库就是为了解决这个问题而出现的。
数据库就像是一个文件柜,可以用来存放这些纸条,并且帮助我们分类、查找和管理这些纸条。
数据库可以帮助我们存储和管理大量的数据,让我们能够轻松地查找、更新和删除数据。就像我们整理家里的物品一样,把数据整理好,以便在需要的时候能够快速地找到并使用。同时,数据库还提供了安全性和完整性控制,确保只有经过授权的人才能访问和修改数据。
数据库有很多优点:
- 数据结构化:数据库就像是一位超级整理专家。想象一下你的家里有很多东西,如果没有整理好,找东西的时候是不是很麻烦。数据库就像是把家里的东西分类整理好放进不同的柜子,需要的时候直接打开对应的柜子就能找到,非常方便。
- 数据共享:数据库就像一个大家庭的共享储物箱。每个人都有自己的东西,可以放在共享储物箱里,这样大家庭的成员都可以根据需要找到和使用这些东西,而不用每个人都带着自己的一份,这样既节省空间又方便大家。
- 数据安全:数据库就像是一位保安。它确保只有拿到“门禁卡”的人才能进入数据库的房间,这样我们的数据就不会被陌生人拿走或者弄坏。而且,如果有什么不对劲的尝试,数据库保安还会立刻发出警报。
- 数据完整性:数据库就像是一位细心的事务员。它帮我们记录每一笔交易,每一笔账都清清楚楚,不会弄错,也不会漏掉。这样我们在查看数据的时候,就可以信任它的准确性。
- 数据恢复:数据库就像是有“时间机器”的功能。如果不小心删掉了重要数据,或者数据库生病了,我们可以利用“时间机器”回到过去,把丢失的数据找回来。这就像是我们在生活中犯了小错误,有办法可以挽回一样,让人感到安心。
总之,数据库是一种非常有用的工具,可以帮助我们更好地管理和利用数据资源。无论是企业还是个人,都需要用到数据库来存储和管理大量的数据。
1.2 数据库分类
最常见的分类方式,就是按照数据结构的不同分类:
- 关系型数据库(RDBMS,Relational Database Management System)
关系型数据库的存储和管理数据的方式基于关系模型。关系模型是一种数学模型,用于表示实体(如人、产品、订单等)之间的关系。
关系型数据库将数据存储在表格中,每个表格都有一个表名,表格中的每一行被称为记录,每个记录包含多个字段,每个字段对应一个属性或数据项。
关系型数据库的特点是数据结构化、规范化,遵循一定的规则和模式。它支持事务处理,能够保证数据的一致性和完整性。同时,关系型数据库也提供了查询语言(如SQL),方便用户对数据进行查询、更新、删除等操作。
关系型数据库广泛应用于各种领域,如电子商务、金融、医疗、教育等。它可以帮助企业或组织存储和管理大量的数据,提供数据共享、数据分析和决策支持等功能。
常见的关系型数据库包括MySQL、Oracle、Microsoft SQL Server和PostgreSQL等。
- 非关系型数据库(NoSQL,Not Only SQL)
非关系型数据库不使用表格形式来存储数据,而是使用其他数据模型,如键值对、文档、列族或图形等。非关系型数据库通常更适用于大规模分布式环境和灵活的数据结构需求。
常见的非关系型数据库包括MongoDB、Cassandra、Redis和Elasticsearch等。
非关系型数据库,又被称为NoSQL(Not Only SQL ),意为不仅仅是SQL,对NoSQL 最普遍的定义是“非关联型的”,强调 Key-Value 的方式存储数据。
Key-value数据库是一种以键值对存储数据的一种数据库,每个键都会对应一个唯一的值。
以上只是一些常见的数据库分类,实际上还有其他更特定和专用的数据库类型,如时间序列数据库、空间数据库、内存数据库等。每种类型的数据库都有其独特的优势和适用场景,选择适合的数据库类型需要考虑数据特性、数据需求和应用程序需求等因素。
关系型和非关系型数据库区别?
关系型数据库和非关系型数据库在多个方面存在差异,包括数据模型、存储方式、查询速度、安全性和应用场景等。
- 数据模型:关系型数据库采用基于表格的数据模型,数据之间有关联,表格需要定义表结构、字段和字段类型。非关系型数据库则可以采用多种数据模型,如键值、文档、图形等,数据之间没有关联,数据可以是自由格式的。
- 存储方式:关系型数据库将数据存储在硬盘的文件上,成本相对较高,查询速度较慢,但可实现多表之间的复杂查询。非关系型数据库则将数据存储在内存中,成本相对较低,查询速度较快,但只能存储基础数据类型。
- 查询速度:关系型数据库查询速度相对较慢,但可以通过索引等方式提高查询效率。非关系型数据库则通常采用快速的查询语言或API进行数据操作,查询速度相对较快。
- 安全性:关系型数据库通常采用ACID事务模型,保证数据的一致性和完整性,安全性相对较高。非关系型数据库则通常采用最终一致性事务模型,不保证强一致性,但能够达到最终一致性,安全性相对较低。
- 应用场景:关系型数据库适用于需要高度一致性和完整性的场景,如金融、医疗等传统行业。非关系型数据库则适用于需要高扩展性和灵活性的场景,如互联网应用、移动应用、大数据等新兴领域。
总之,关系型数据库和非关系型数据库各有优缺点,需要根据具体的应用场景和需求进行选择。在选择数据库时,需要考虑数据模型、存储方式、查询速度、安全性和成本等多个因素。
1.3 常见数据库介绍
(1)关系型数据库
| 数据库 | 介绍 |
| MySQL | 开源免费的数据库,中型的数据库.已经被Oracle收购了.MySQL6.x版本也开始收费。 |
| Oracle | 收费的大型数据库,Oracle公司的产品。Oracle收购SUN公司,收购MYSQL。 |
| DB2 | IBM公司的数据库产品,收费的。常应用在银行系统中。 |
| SQLserver | MicroSoft 公司收费的中型的数据库。C#、.net等语言常使用。 |
| SQLite | 嵌入式的小型数据库,应用在手机端。 |
(2)非关系型数据库
| 数据库 | 介绍 |
| Redis | 是一个小而美的数据库,主要用在key-value 的内存缓存,读写性能极佳。 |
| HBase | HBase是列式数据库,目标是高效存储大量数据。 |
| MongoDB | MongoDB是文档型数据库,非常接近关系型数据库的。 |
2 MySQL数据库简介
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,属于Oracle旗下产品。它是最流行的关系型数据库管理系统之一,在Web应用方面,MySQL是最好的RDBMS (Relational Database Management System,关系数据库管理系统)应用软件之一。
MySQL数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。
MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型和大型网站的开发都选择MySQL作为网站数据库。
- 社区版:MySQL的社区版是免费的,可以自由下载和使用,适用于个人和小型企业。它包含了MySQL的核心功能,包括SQL查询、事务处理、索引、表和权限管理等。社区版是开源的,开发者可以自由获取源代码并进行修改。然而,社区版不提供官方的技术支持和技术维护,需要用户自行解决技术问题或寻求第三方支持。
提示:开放源码(Open Source)是一种软件发布模式,它强调在软件的开源、自由获取、自由修改和自由发布等方面的重要性。在这种模式下,软件的源代码是公开的,任何人都可以获取、阅读、修改和发布这些代码。
由于开放源码软件的源代码是公开的,因此任何人都可以对其进行测试、验证和改进,这有助于提高软件的可信度和安全性。
总之,开放源码是一种软件开发模式,它强调开源、自由获取、自由修改和自由发布等方面的重要性。这种模式可以促进软件的开发和创新,提高软件的质量和稳定性,同时也可以提高软件的可信度和安全性。
- 商业版:MySQL的商业版是收费的,适用于大型企业和需要高级功能支持的场景。它提供了更多的功能和更高的性能,如数据复制、分区、集群等。商业版还提供了官方的技术支持和技术维护,以及额外的安全性和可靠性保障。此外,商业版还提供了与第三方工具和服务的集成和兼容性,以满足企业的特定需求。
总之,MySQL是一个强大、可靠、易用的数据库系统,适用于各种规模的应用程序和企业级数据存储需求。
3 Windows系统安装MySQL数据库
提示:已经安装的数据库要卸载。
步骤1:关闭MySQL服务
步骤2:卸载mysql软件
步骤3:删除MySQL在电脑硬盘上物理位置上的所有文件
C:\Program Files (x86)\MySQL
C:\ProgramData\MySQL
步骤4:删除MySQL的注册表信息
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
3.1 下载MySQL
MySQL是开源免费的,可以直接去官网下载MySQL。
下载地址如下:
建议选择安装版,进行下载安装。
① 选择好要下载的版本;
② 点击“Go to Download Page”,进入下载页面;
MySQL 8.2.0 是一个 MySQL 数据库的版本,它是在 MySQL 8.0 版本的基础上进行了一些改进和增强。这个版本被视为是一个主要版本,它包含了一些新的特性和功能,以帮助用户更好地管理和使用他们的数据库。
在 MySQL 8.2.0 版本中,InnoDB 存储引擎进行了重大改进,包括更快的恢复时间、更好的并发性和更少的磁盘 I/O。此外,MySQL 8.2.0 还引入了一些新功能,例如通用表表达式(Common Table Expressions)、临时表改进、更好的JSON支持等。
总的来说,MySQL 8.2.0 是一个相对较新的版本,它旨在提供更好的性能、可扩展性和易用性,以满足不断增长的数据需求。
- MSI是Microsoft Installer的缩写,它是一种软件分发格式,用于在Windows系统中安装软件。可以直接运行该MSI文件来安装MySQL数据库。
- mysql-8.2.0-winx64.zip是一个免安装版本的MySQL数据库,解压之后需要进行一些配置才能使用。
根目录下my.ini文件(没有就手动创建):
[mysqld] port=3306 basedir="C:/Program Files/MySQL/MySQL Server 8.0/" datadir="C:/ProgramData/MySQL/MySQL Server 8.0/Data/" default_authentication_plugin=mysql_native_password
- mysql-8.2.0-winx64-debug-test.zip与常规的mysql-8.2.0-winx64.zip安装包相比,这个特定版本的安装包包含了一些额外的文件,用于调试和测试MySQL数据库。
③ 选择离线安装版本,点击“Download”下载;
④ 点击左下角的 “No thanks, just start my download”开始下载。
3.2 安装MySQL
安装过程中需要注意:
① 下载完成后打开安装包,选择开发者默认的安装方式,点击下一步即可,如下图1。
② 此后按照流程安装即可,遇到Next(下一步),和Execute(执行)直接点击即可,点击Execute后需要等待几分钟。
③ 直至出现某个窗口里有一个选项“Add MySQL to the system PATH”,勾选这个选项表示要将MySQL的可执行文件路径自动添加到系统的PATH环境变量中。否则,安装完成后,需要手动添加环境变量。
④ 直至出现Account and Roles输入数据库密码,此处输入密码务必记住,用于之后登陆数据库。
⑤ 继续点击Next,出现Finish后点击,完成安装。
- 安装类型窗口:
Typical” 典型安装:安装MySQL服务器、客户端,以及一些示例配置文件。它适用于大多数用户,能够满足基本的需要。
“Custom” 自定义安装:允许用户选择要安装的组件。你可以选择安装MySQL服务器、客户端,或者选择其他可选组件,如示例数据库、文档等。它为用户提供了更大的灵活性。
“Complete” 完全安装:安装所有可用的组件,包括开发工具、示例数据库、文档等。它为用户提供了全面的安装体验。
- 自定义组件
只选择"Client Programs"这个组件是足够的。这个组件包含了MySQL的命令行工具(如mysql.exe)和其他客户端工具,用于连接到MySQL数据库并执行查询、插入、更新等操作。
然而,如果你需要进行更高级的数据库管理或开发,可能需要选择其他组件。
Development Components这个组件是可选的,并不是必须的。这个组件包含了开发MySQL应用程序所需的库和头文件等,如果你正在开发MySQL应用程序,可能需要选择这个组件。
然而,如果你只是使用MySQL进行数据库管理或查询操作,并不需要进行开发,那么这个组件并不是必须的。你可以只选择Client Programs组件来满足你的需求。
3.3 添加环境变量
(1)添加环境变量目的
添加环境变量的主要目的是为了方便在操作系统中的任何位置或终端窗口中访问特定程序或命令。
以下是添加环境变量的几个目的:
- 方便访问常用的命令或程序:通过将程序的可执行文件路径添加到PATH环境变量中,您可以在终端或命令提示符中直接使用命令来执行特定的程序,而无需指定完整的文件路径。这样可以省去每次都进行文件路径输入的麻烦。
- 提高工作效率:添加环境变量可以减少手动查找和输入的时间,从而提高工作效率。您可以更快地访问常用的工具、应用程序或命令,而无需每次手动查找其路径。
- 简化命令操作和脚本编写:在编写脚本或命令序列时,添加环境变量可以简化命令的编写。您可以直接使用命令而无需担心文件路径问题,从而使脚本易于阅读、编写和维护。
- 避免文件路径冲突问题:有时,在系统中可能存在相同名称但位于不同路径的文件。通过添加环境变量,您可以明确指定要使用的程序的路径,避免冲突或误用。
- 支持多版本程序的切换:在某些情况下,您可能会安装多个版本的软件或程序。通过添加环境变量,可以灵活地切换或指定要使用的特定版本,而无需手动更改文件路径。
总的来说,添加环境变量可以方便地访问应用程序和命令,提高工作效率,简化命令操作和脚本编写,避免文件路径冲突,并支持多版本程序的切换。这在日常的操作和开发工作中非常有用。
(2)添加环境变量的步骤
在Windows系统中,MySQL安装完成后,默认情况下不会自动配置环境变量。
但是,在MySQL安装程序的安装向导中,可以选择自动将MySQL的可执行文件路径添加到系统的PATH环境变量中。
在安装MySQL时,您会看到一个选项“Add MySQL to the system PATH”,勾选这个选项表示要将MySQL的可执行文件路径自动添加到系统的PATH环境变量中。如果选择了这个选项,安装完成后,就可以在命令提示符中直接运行mysql命令了。
如果没有在安装过程中勾选这个选项,或者您选择了自定义安装路径,您需要手动配置环境变量来使得mysql命令在命令提示符中可用。
以下是手动配置路径的步骤:
① 在Windows的资源管理器中,右键点击“我的电脑”或者“此电脑”,选择“属性”。
② 在系统属性窗口中,点击左侧的“高级系统设置”。
③ 在弹出的“系统属性”窗口中,点击“环境变量”按钮。
④ 在“系统变量”一栏中,找到名为“Path”的变量,并点击“编辑”。
⑤ 在编辑环境变量窗口中,点击“新建”,然后添加MySQL的可执行文件路径,找到MySQL的安装目录,复制路径的时候要复制到bin目录,例如:D:\mysql\bin(具体路径根据您的安装位置进行调整)。
⑥ 点击“确定”保存更改。
完成上述步骤后,打开新的命令提示符窗口,您应该能够在任何目录下直接输入mysql命令,并且运行MySQL客户端。
(3)检测环境变量是否配置成功
① 使用快捷键Win + R打开运行对话框。
② 在运行对话框中输入cmd并按下Enter键,即可打开命令提示符窗口。
③ 也可以在开始菜单中搜索"命令提示符"或 "cmd",然后点击打开。
④ 在终端中输入mysql -V(V要大写),输出如下内容则配置成功。
4 MySQL服务管理
MySQL常用的服务管理操作及其命令主要包括:
4.1 开启和停止MySQL服务
- 开启mysql服务:
net start mysql服务名
- 停止mysql服务:
net stop mysql服务名
4.2 连接MySQL数据库
命令格式:
mysql -h 主机地址 -P 端口 -u 用户名 -p用户密码
例如:
mysql -h localhost -P 8888 -u root -p
- mysql
是用于连接到MySQL服务器的命令工具。
- -h localhost
表示要连接的主机名是localhost,也就是本地主机。登录的是本机数据库,可以省略-h localhost部分。
- -P 8888
表示要连接的MySQL服务器的端口号是8888。注意,这里使用的是大写字母P,而不是小写字母p,因为小写字母p已经被用于表示密码选项。如果是MySQL默认端口3306,也省略该部分。
- -u root
表示连接MySQL时使用的用户名是root。
- -p
表示在连接MySQL时需要输入密码。-p后面有空格,表示接下来会提示用户输入密码。也可以直接输入密码,-ppassword,-p后直接紧跟着密码,但不要有空格。
5 Linux系统安装MySQL数据库
5.1 MySQL安装
在CentOS 7系统上安装MySQL 的完整步骤如下所示。
(1)打开终端窗口
使用快捷键(例如Ctrl + Alt + T)或在应用程序/系统工具菜单中找到终端应用程序并打开。
或使用远程连接工具FinalShell来打开终端窗口并执行以下命令。
(2)安装MySQL仓库文件
MySQL仓库文件的主要作用是提供MySQL官方软件包和更新的访问路径,以便在安装和更新MySQL时使用。
具体来说,MySQL仓库文件的作用如下:
① 软件包下载:MySQL仓库文件包含了MySQL官方软件包的下载路径和信息。通过导入仓库文件,可以使用包管理工具(如yum、apt等)从官方源中获取MySQL软件包,而无需手动下载和安装软件包。
② 版本管理:仓库文件允许您管理不同版本的MySQL软件。通过引用不同的仓库文件,可以选择安装特定版本的MySQL,轻松进行版本升级和切换。
③ 更新和安全补丁:MySQL官方源通常发布包含新功能、安全补丁和错误修复的更新版本。通过仓库文件,可以在需要时查找并安装这些更新,确保MySQL始终保持最新并具备最佳性能和安全性。
④ 依赖解决:仓库文件通常包含软件包的依赖关系和版本要求。这些信息可以帮助在安装MySQL时解决依赖问题,保证所需的库和组件可用。
⑤ 简化安装和管理:导入仓库文件后,可以使用包管理工具轻松地安装、更新和管理MySQL。这样可以简化安装和管理流程,减少手动下载和配置的工作量。
总之,MySQL仓库文件的作用是提供MySQL官方软件包和更新的访问路径,帮助方便地安装、更新和管理MySQL,确保系统具备最新的功能、性能和安全性。
输入以下命令并按下Enter键,以导入MySQL的官方仓库文件。
sudo rpm -Uvh dev.mysql.com/get/mysql80…
这条命令用于安装MySQL的仓库文件。
说明:
- sudo
: 此命令是在Linux系统中以超级用户(root)权限运行命令。通过使用sudo,您可以在终端中运行需要管理员权限的命令。
- rpm
: 命令用于RPM软件包管理器来安装、更新、卸载或查询软件包。
- -Uvh
: 这是rpm命令的选项参数,用于指定安装操作。具体含义如下:
-
- -U
:表示安装或更新软件包。
-
- -v
:表示启用详细输出,即显示安装过程中的详细信息。
-
- -h
:表示显示进度条。
: 是MySQL官方提供的仓库文件的下载链接。此链接指向一个名为mysql80-community-release-el7-3.noarch.rpm的RPM软件包。
当运行该命令时,系统会通过HTTPS从MySQL官方网站下载mysql80-community-release-el7-3.noarch.rpm软件包,并使用RPM软件包管理器安装该仓库文件。
安装完成后,MySQL的官方源将被添加到系统的软件仓库中,以便后续使用yum命令安装、更新和管理MySQL软件包。
(3)安装MySQL服务器
在Linux系统中使用包管理工具yum安装MySQL服务器的命令。
输入以下命令并按下Enter键,以安装MySQL 的服务器软件包。
sudo yum install mysql-server
说明:
- sudo
:此命令是在Linux系统中以超级用户(root)权限运行命令。通过使用sudo,您可以在终端中运行需要管理员权限的命令。
- yum
:yum是许多Linux发行版中的包管理工具。它可以从软件仓库安装、更新和删除软件包,解决依赖性问题,并确保软件包的版本兼容性。
- install
:这是yum命令的操作选项,用于指定要安装软件包。
- mysql-server
:这是要安装的MySQL服务器软件包的名称。
当您运行该命令时,系统会使用yum包管理器从仓库中下载并安装MySQL服务器的最新稳定版本。安装过程中,yum会自动解决依赖关系,确保所需组件和库可用。
如果想安装特定版本的MySQL服务器,可以使用以下命令来指定版本安装:
首先,列出可用软件包信息,运行以下命令来列出已配置仓库中可用的MySQL软件包信息。
sudo yum list available | grep mysql-server
以上命令将列出所有可用的MySQL服务器软件包,并过滤出包含mysql-server关键字的条目。这些条目通常包括软件包名称、版本号和发行版本信息。
其次,使用以下命令来指定版本安装。
sudo yum install mysql-server-
说明:
- 在
中替换为您想要安装的具体版本号。
例如,要安装MySQL 8.0版本,可以运行以下命令:
sudo yum install mysql-server-8.0
这将安装MySQL 8.0版本的服务器软件包。请注意,您需要在仓库中提供的版本号范围内选择。
(4)启动MySQL服务
安装完成后,使用以下命令启动MySQL服务。
sudo systemctl start mysqld
说明:
- sudo
:此命令是在Linux系统中以超级用户(root)权限运行命令。通过使用sudo,您可以在终端中运行需要管理员权限的命令。
- systemctl
:systemctl 是用于管理系统服务的命令。它可以启动、停止、重启、重载和检查服务的状态。
- start
:这是systemctl命令的操作选项,用于启动指定的服务。
- mysqld
:这是MySQL服务器的服务名称。
当您运行该命令时,系统会使用systemctl命令启动MySQL服务器。MySQL服务器进程将开始运行,并准备接受来自客户端的数据库连接。
请注意,您需要确保MySQL服务器已经安装在系统中,且服务名称确实为mysqld。如果MySQL服务器安装并配置正确,运行此命令将启动MySQL服务器。如果系统中尚未安装MySQL服务器,您需要首先按照适当的步骤进行安装。
(5)获取初始root密码
MySQL 会自动生成一个初始的root密码。
在MySQL日志文件中查找生成的临时密码的命令如下:
sudo grep 'temporary password' /var/log/mysqld.log
说明:
- sudo
:此命令是在Linux系统中以超级用户(root)权限运行命令。通过使用sudo,您可以在终端中运行需要管理员权限的命令。
- grep
:grep是一个用于在文件中搜索指定模式的命令。它可以根据模式匹配行,并返回匹配的结果。
- 'temporary password'
:这是要在文件中搜索的模式字符串,即临时密码的标识。
- /var/log/mysqld.log
:这是MySQL服务器的日志文件的路径。MySQL服务器会在该文件中记录各种事件和操作日志。
当您运行该命令时,系统会使用grep命令在MySQL日志文件/var/log/mysqld.log中搜索包含'temporary password'的行。这些行通常包含MySQL服务器生成的临时密码。
如果找到匹配的行,命令将返回包含临时密码的行,供您参考。您可以从输出中查找观察到的临时密码,并在之后的MySQL登录过程中使用它来设置新的密码。请注意,临时密码在首次登录MySQL后会要求修改为更安全的密码(强密码)。
(6)进行MySQL安全性配置
输入以下命令并按下Enter键,以进行MySQL安全配置。
sudo mysql_secure_installation
说明:
- sudo
:此命令是在Linux系统中以超级用户(root)权限运行命令。通过使用sudo,您可以在终端中运行需要管理员权限的命令。
- mysql_secure_installation
:这是一个MySQL提供的交互式脚本,用于设置和加固MySQL服务器的安全性。
当运行该命令时,系统会启动mysql_secure_installation脚本,该脚本将提供一些选项和询问您的一些问题来执行以下操作:
① 移除匿名用户:删除MySQL服务器的默认匿名用户,以防止未经身份验证的访问。
② 禁用远程root登录:禁止使用root用户通过远程连接登录MySQL服务器。
③ 删除测试数据库:删除MySQL服务器的默认测试数据库,以防止潜在的安全漏洞。
④ 加载权限表并刷新权限:将更改应用到MySQL服务器,并刷新权限表。
在执行该命令后,您将被要求按照提示进行选择和提供相应的信息,以完成MySQL安全性设置的过程。请按照脚本指示进行操作,并根据您的需求选择适当的选项,以确保您的MySQL服务器安全性设置合理且符合预期。
进行安全配置时,建议至少选择删除匿名用户和禁止远程root登录的选项,以增加数据库的安全性。
(7)设置MySQL自启动
如果希望在系统启动时自动启动MySQL服务,请使用以下命令:
sudo systemctl enable mysqld
说明:
- sudo
:此命令是在Linux系统中以超级用户(root)权限运行命令。通过使用sudo,可以在终端中运行需要管理员权限的命令。
- systemctl
:systemctl 是用于管理系统服务的命令。它可以启动、停止、重启、重载和检查服务的状态。
- enable
:这是systemctl命令的操作选项,用于将指定的服务设置为开机自启动。
- mysqld
:这是MySQL服务器的服务名称。
当运行该命令时,系统会使用systemctl命令将MySQL服务器服务注册为开机自启动。这样,每次系统启动时,MySQL服务器将自动启动。
请注意,需要确保MySQL服务器已经安装在系统中,且服务名称确实为mysqld。如果MySQL服务器安装并配置正确,运行此命令将使MySQL服务器在系统启动时自动启动。如果系统中尚未安装MySQL服务器,需要首先按照适当的步骤进行安装。
(8)验证MySQL安装
输入以下命令来验证MySQL服务器是否正常运行。
验证MySQL安装时,确保MySQL服务处于运行状态,且没有任何错误或警告信息。
sudo systemctl status mysqld
说明:
- 如果安装成功,您将看到MySQL的运行状态和服务器信息。
- sudo systemctl status mysqld
是用于检查MySQL服务器运行状态的命令。
- sudo
:此命令是在Linux系统中以超级用户(root)权限运行命令。通过使用sudo,您可以在终端中运行需要管理员权限的命令。
- systemctl
:systemctl 是用于管理系统服务的命令。它可以启动、停止、重启、重载和检查服务的状态。
- status
:这是systemctl命令的操作选项,用于检查指定服务的状态。
- mysqld
:这是MySQL服务器的服务名称。
当您运行该命令时,系统会使用systemctl命令检查MySQL服务器的运行状态。系统将返回包含MySQL服务器当前状态信息的输出。这些信息通常包括服务是否正在运行、服务启动时间、进程ID等。
如果MySQL服务器正在运行,状态将显示为"active"。如果MySQL服务器当前未运行,状态将显示为"inactive"。
通过运行该命令,您可以确认MySQL服务器是否正在运行,并在需要时进行问题排查和故障排除。
5.2 登陆MySQL数据库
MySQL是一个需要账户名密码登录的数据库,登陆后使用,它提供了一个默认的root账号,使用安装时设置的密码即可登录,目前有两种登录场景:
(1)本地(针对本地MySQL)
mysql -uroot –p 回车 password:输入密码1
案例演示:
说明:
- -u 后面是登录的用户名
- -p 后面是登录密码, 如果不填写, 回车之后会提示输入密码
(2)修改root用户密码
在MySQL控制台内执行
ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';
说明:
- 密码需要符合:大于8位,有大写字母,有特殊符号,不能是连续的简单语句,如123abc等。
- ALTER USER
:这是一条用于修改用户的命令。您使用它来更改MYSQL用户的属性,如密码。
- 'root'@'localhost'
:这是标识要更改的用户的用户名和主机。'root'表示要更改的用户名为root,'localhost'表示该用户只能从本地主机进行连接。
- IDENTIFIED BY
:这是用于指定新密码的关键字。
- '密码'
:这是要为用户设置的新密码。将密码替换为您自己选择的密码。请确保密码满足您所描述的要求:大于8位、包含大写字母、包含特殊符号,并且不是连续的简单语句,如123abc等。
执行此命令后,MySQL服务器将更改指定用户的密码为所提供的新密码。如果命令成功执行,它将不产生任何输出。您可以通过尝试使用新密码进行登录来验证密码是否成功更改。
请注意,执行此操作需要适当的权限。通常情况下,只有使用root用户或具有适当权限的用户才能更改其他用户的密码。确保您已获得必要的权限,并且对密码的保密性负责,以维护MySQL服务器的安全性。
扩展:配置root的简单密码。
我们可以给root设置简单密码,如123456
请注意,此配置仅仅是用于测试环境或学习环境的MySQL,如果是正式使用,请勿设置简单密码。
如果你想设置简单密码,需要降低Mysql的密码安全级别:
set global validate_password_policy=LOW; # 密码安全级别低 set global validate_password_length=4; # 密码长度最低4位即可
说明:
在MySQL中执行set global validate_password_policy=LOW;和set global validate_password_length=4;这两条命令可以更改密码策略和密码长度要求。
下面是对每条命令的详细解释:
- set global validate_password_policy=LOW;
:这个命令将密码策略设置为低级别。MySQL提供了4个密码策略级别:LOW、MEDIUM、STRONG和默认级别(由具体版本决定)。通过将密码策略级别设置为LOW,可以减轻密码复杂性要求,密码可以更简单。请注意,降低密码策略级别会使密码更容易被猜测或暴力破解,因此需要在安全性和使用方便之间做出权衡。
- set global validate_password_length=4;
:这个命令将密码长度要求设置为最低4位。默认情况下,MySQL的密码长度要求是8位。通过将密码长度要求设置为较低的值,例如4位,可以降低设置密码的复杂性。请注意,设置较低的密码长度要求会带来密码猜测和弱密码的风险,因此需要在安全性和方便性之间进行权衡。
需要注意的是,降低密码策略级别和密码长度要求可能会降低系统的安全性。建议在实际应用中,根据实际需求和安全性要求,选择合适的密码策略级别和密码长度要求。
同时,请记住,确保将上述设置与正确的安全措施(如访问控制、数据库备份等)结合使用,以保护MySQL服务器免受未经授权的访问和数据泄露风险。
然后就可以用简单密码了(课程中使用简单密码,为了方便,生产中不要这样)
ALTER USER 'root'@'localhost' IDENTIFIED BY '简单密码';
(3)远程(针对远程MySQL,MySQL服务器不再本地)
mysql -h 远程服务器IP地址 -P 端口号 -u用户名 -p 回车 password:输入密码
说明:
上述命令是用于连接远程MySQL服务器的命令,其中包含了以下参数:
- -h:指定远程服务器的IP地址。
- -P:指定连接远程服务器所用的端口号。
- -u:指定连接远程服务器所使用的用户名。
- -p:表示需要输入密码进行验证。
在执行该命令后,会弹出一个提示框要求输入密码,输入密码后按回车键确认。该命令的作用是通过MySQL客户端连接远程MySQL服务器,并使用指定的用户名和密码进行验证。连接成功后,就可以在客户端上对远程服务器上的MySQL数据库进行操作。
案例:
mysql -h 192.168.88.100 -P 3306 -uroot -p Enter password:123456
(4)退出
mysql> exit # 方式一 mysql> quit # 方式二 快捷键Ctrl + d # 方式三
说明:
这三种方式都可以用来退出 MySQL 客户端,但有一些细微的区别。
- exit
:这是最常见的方式,输入 exit 后按下回车键即可退出。它也是最直观的方式,向客户端发送一个退出信号,然后程序会正常退出。
- quit
:与 exit 类似,输入 quit 后按下回车键即可退出。quit 是 exit 的别名,它们的功能都完全相同。
- Ctrl + d
:这是一种快捷键方式,通过按下 Ctrl 键和 d 键来实现退出。在输入 mysql 命令进入客户端后,直接按下 Ctrl + d 键即可退出。相对于上述两种方式,这种方式更为快捷,不需要额外输入命令或按下回车键。
总结来说,这三种方式的作用是相同的,都是用来退出 MySQL 客户端的。选择哪种方式取决于个人习惯和使用习惯。