牛客网-mysql(一)简介及安装
第一节 MySQL简介
MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。
我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。
所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
RDBMS 即关系数据库管理系统(Relational Database Management System)的特点:
- 数据以表格的形式出现
- 每行为各种记录名称
- 每列为记录名称所对应的数据域
- 许多的行和列组成一张表单
- 若干的表单组成database
开始学习MySQL 数据库前,让我们先了解下RDBMS的一些术语:
- 数据库: 数据库是一些关联表的集合。
- 数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
- 列: 一列(数据元素) 包含了相同类型的数据。
- 行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。
- 冗余:存储两倍数据,冗余降低了性能,但提高数据的安全性。
- 主键:主键是唯一的。一个数据表中只能包含一个主键。可以使用主键来查询数据。
- 外键:外键用于关联两个表。
- 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
- 索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
- 参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。
MySQL 为关系型数据库(Relational Database Management System), 这种所谓的"关系型"可以理解为"表格"的概念, 一个关系型数据库由一个或数个表格组成, 如图所示的一个表格:
- 表头(header): 每一列的名称;
- 列(col): 具有相同数据类型的数据的集合;
- 行(row): 每一行用来描述某条记录的具体信息;
- 值(value): 行的具体信息, 每个值必须与该列的数据类型相同;
- 键(key): 键的值在当前列中具有唯一性。
MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
- MySQL 是开源的。
- MySQL 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
- MySQL 使用标准的 SQL 数据语言形式。
- MySQL 可以运行于多个系统上,并且支持 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。
- MySQL 对PHP有很好的支持,PHP 是目前最流行的 Web 开发语言。
- MySQL 支持大型数据库,支持 5000 万条记录的数据仓库,64 位系统支持最大的表文件为8TB。
- MySQL 是可以定制的,采用了 GPL 协议。
第2节 MySQL 安装
(base) [root@localhost local]# mkdir mysql
(base) [root@localhost local]# ll
总用量 0
drwxr-xr-x. 2 root root 6 6月 22 13:06 bin
drwxr-xr-x. 2 root root 6 6月 22 13:06 etc
drwxr-xr-x. 2 root root 6 6月 22 13:06 games
drwxr-xr-x. 2 root root 6 6月 22 13:06 include
drwxr-xr-x. 2 root root 6 6月 22 13:06 lib
drwxr-xr-x. 3 root root 17 11月 19 01:00 lib64
drwxr-xr-x. 2 root root 6 6月 22 13:06 libexec
drwxr-xr-x. 2 root root 6 11月 22 16:46 mysql
drwxr-xr-x. 2 root root 6 6月 22 13:06 sbin
drwxr-xr-x. 5 root root 49 11月 19 01:00 share
drwxr-xr-x. 2 root root 6 6月 22 13:06 src
(base) [root@localhost local]# cd mysql/
(base) [root@localhost mysql]# ll
总用量 779100
-rw-r--r--. 1 root root 797798400 11月 22 16:46 mysql-8.0.27-1.el8.x86_64.rpm-bundle.tar
(base) [root@localhost mysql]# tar -xvf mysql-8.0.27-1.el8.x86_64.rpm-bundle.tar
mysql-community-client-8.0.27-1.el8.x86_64.rpm
mysql-community-client-debuginfo-8.0.27-1.el8.x86_64.rpm
mysql-community-client-plugins-8.0.27-1.el8.x86_64.rpm
mysql-community-client-plugins-debuginfo-8.0.27-1.el8.x86_64.rpm
mysql-community-common-8.0.27-1.el8.x86_64.rpm
mysql-community-debuginfo-8.0.27-1.el8.x86_64.rpm
mysql-community-debugsource-8.0.27-1.el8.x86_64.rpm
mysql-community-devel-8.0.27-1.el8.x86_64.rpm
mysql-community-libs-8.0.27-1.el8.x86_64.rpm
mysql-community-libs-debuginfo-8.0.27-1.el8.x86_64.rpm
mysql-community-server-8.0.27-1.el8.x86_64.rpm
mysql-community-server-debug-8.0.27-1.el8.x86_64.rpm
mysql-community-server-debug-debuginfo-8.0.27-1.el8.x86_64.rpm
mysql-community-server-debuginfo-8.0.27-1.el8.x86_64.rpm
mysql-community-test-8.0.27-1.el8.x86_64.rpm
mysql-community-test-debuginfo-8.0.27-1.el8.x86_64.rpm
(base) [root@localhost mysql]# rpm -ivh mysql-community-libs-8.0.27-1.el8.x86_64.rpm --nodeps --force
警告:mysql-community-libs-8.0.27-1.el8.x86_64.rpm: 头V3 DSA/SHA256 Signature, 密钥 ID 5072e1f5: NOKEY
Verifying... ################################# [100%]
准备中... ################################# [100%]
正在升级/安装...
1:mysql-community-libs-8.0.27-1.el8################################# [100%]
(base) [root@localhost mysql]# rpm -ivh mysql-community-common-8.0.27-1.el8.x86_64.rpm --nodeps --force
警告:mysql-community-common-8.0.27-1.el8.x86_64.rpm: 头V3 DSA/SHA256 Signature, 密钥 ID 5072e1f5: NOKEY
Verifying... ################################# [100%]
准备中... ################################# [100%]
正在升级/安装...
1:mysql-community-common-8.0.27-1.e################################# [100%]
(base) [root@localhost mysql]# rpm -ivh mysql-community-client-8.0.27-1.el8.x86_64.rpm --nodeps --force
警告:mysql-community-client-8.0.27-1.el8.x86_64.rpm: 头V3 DSA/SHA256 Signature, 密钥 ID 5072e1f5: NOKEY
Verifying... ################################# [100%]
准备中... ################################# [100%]
正在升级/安装...
1:mysql-community-client-8.0.27-1.e################################# [100%]
(base) [root@localhost mysql]# rpm -ivh mysql-community-server-8.0.27-1.el8.x86_64.rpm --nodeps --force
警告:mysql-community-server-8.0.27-1.el8.x86_64.rpm: 头V3 DSA/SHA256 Signature, 密钥 ID 5072e1f5: NOKEY
Verifying... ################################# [100%]
准备中... ################################# [100%]
正在升级/安装...
1:mysql-community-server-8.0.27-1.e################################# [100%]
[/usr/lib/tmpfiles.d/mysql.conf:23] Line references path below legacy directory /var/run/, updating /var/run/mysqld → /run/mysqld; please update the tmpfiles.d/ drop-in file accordingly.
(base) [root@localhost mysql]# rpm -qa | grep mysql
mysql-community-client-8.0.27-1.el8.x86_64
mysql-community-libs-8.0.27-1.el8.x86_64
mysql-community-server-8.0.27-1.el8.x86_64
mysql-community-common-8.0.27-1.el8.x86_64
(base) [root@localhost mysql]# mysqld --initialize
(base) [root@localhost mysql]# chown mysql:mysql /var/lib/mysql -R
(base) [root@localhost mysql]# systemctl start mysqld.service
(base) [root@localhost mysql]# systemctl enable mysqld
cat /var/log/mysqld.log |grep password # 查看随机密码
之后再mysql文件夹下输入 mysql -uroot -p 之后输入随机密码进入数据库