MySQL安装与配置全攻略

发布于:2025-05-30 ⋅ 阅读:(22) ⋅ 点赞:(0)

关系型数据库的基本概念

关系型数据库是基于关系模型的数据库系统,是关系模型应用到数据库领域的实例化

关系型数据库的基本结构

关系数据库使用的存储结构是多个二维表格,即反映事物及其联系的数据描述是以平面表格形式体现的。
在每个二维表中,每一行称为一条记录,用来描述一个对象的信息;每一列称为一个字段,用来描述对象的一个属性。数据表与数据库之间存在相应的关联,这些关联用来查询相关的数据。
关系数据库是由数据表之间的关联组成的。其中:

数据表通常是一个由行和列组成的二维表,每一个数据表分别说明数据库中某一特定的方面或部分的对象及其属性。
数据表中的行通常叫做记录或者元组,它代表众多具有相同属性的对象中的
数据表中的列通常叫做字段或者属性,它代表相应数据库中存储对象的共有属性。

主键与外键

(1)主键

数据表中的每行记录都必须是唯一的,而不允许出现完全相同的记录,通过定义主键(主 关键字,Primary Key)可以保证记录(实体)的唯一性。

键,即关键字,它是关系模型中一个非常重要的元素

主键唯一标识表中的行数据,一个主键值对应一行数据。主键由一个或多个字段组成, 其值具有唯一性,不允许取空值(NULL)。一个表只能有一个主键。

如果一个属性集能唯一地标识表的一行而又不含有多余的属性,那么这个属性集称为候 选键。表中可以有多个候选键,但是只能有一个候选键可以选作表的主键,所有其他候选键 称为备用键。

(2)外键

一个关系数据库通常包含多个表,通过外键(Foreign Key)可以使这些表关联起来。
外键是用于建立和加强两个表数据之间的链接的一列或多列。通过将表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接。这个列就称为第二个表的外键。

数据完整性规则

为了维护数据库中的数据与现实世界的一致性,关系数据库的数据与更新操乍必须遵守下列四类完整性规则。

(1)实体完整性规则

实体完整性规则要求关系中的元组在主键的属性上不能有空值。如果出现空值,那么主 键值就起不到唯一标识元组的作用。例如,在图 1.9 所示的“学生信息表 ”中,每个学生都有一个编号,用来唯一标识每个 学生的信息记录,这个编号往往被设为该表的主键,以方便其他数据库表的关联应用。依照 实体完整性规则,“编号”字段不允许为空。

(2)域完整性规则

域完整性也称列完整性,指定一个数据集对某一个列是否有效或确定是否允许空值

(3)引用完整性规则

如果两个表之间相互关联,那么引用完整性规则要求不允许引用不存在的元组

(4)用户定义的完整性规则

用户定义的完整性规则是针对某一具体数据的约束条件,由应用环境决定它反映某一具体应用所涉及的数据必须满足的语义要求。系统提供定义和检验这类完整性的机制,以便用统一的系统方法进行处理,不再由应用程序承担这项工作

环境准备基础

如果采用openEuler minimal安装的系统,在使用前需要安装一些基础软件包工具
在这里插入图片描述

安装Mysql依赖的软件包

在这里插入图片描述

创建运行mysql程序的用户

在这里插入图片描述

关闭SELinux和防火墙

在这里插入图片描述

二进制安装

二进制安装的版本采用跟上面编译安装的版本一样MySQL8.0.36.首先需要下载该软件或提前上传,然后在解压进行配置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此次初始化没有采用无密码模式,因此会生成初始化随机密码,需要保存,用以后登录mysql数据库使用

设定配置文件

mysql的配置文件跟上面编译安装的配置文件类似
在这里插入图片描述

在这里插入图片描述[client] 部分

>socket:指定 MySQL 客户端连接本地 MySQL 服务器时使用的 Unix 套接字文件路径。客户端程序(如 mysql 命令行工具)会通过这个文件与 MySQL 服务器通信。

[mysqld] 部分

>socket:MySQL 服务器监听的 Unix 套接字文件路径,用于本地连接。
>bind-address = 0.0.0.0:MySQL 服务器监听所有可用的网络接口(IPv4),允许远程连接。如果设置为 127.0.0.1,则只允许本地连接。
>skip-name-resolve:禁用 DNS 解析,MySQL 只使用 IP 地址进行权限验证,可以提高连接速度,避免 DNS 解析问题。
>port = 3306:MySQL 服务器监听的 TCP 端口号(默认是 3306)。
>basedir=/usr/local/mysql:MySQL 的安装目录,包含二进制文件和库文件。
>datadir=/usr/local/mysql/data:MySQL 数据存储目录,包含数据库文件、日志等。
>max_connections=2048:MySQL 服务器允许的最大并发连接数(默认通常是 151)。
>character-set-server=utf8:设置 MySQL 服务器的默认字符集为 utf8(推荐使用 utf8mb4 以支持完整的 Unicode,包括 Emoji)。
>default-storage-engine=INNODB:设置默认的存储引擎为 InnoDB(支持事务、行级锁等高级特性)。
>max_allowed_packet=16M:设置 MySQL 服务器和客户端之间传输的最大数据包大小(默认 4M,增大此值可支持更大的 SQL 查询或 BLOB 数据)

[mysqld_safe] 部分

>log-error:指定 MySQL 服务器的错误日志文件路径,用于记录启动、运行和崩溃时的错误信息。
>#pid-file=…(注释掉的):指定 MySQL 服务器的进程 ID(PID)文件路径。通常用于管理 MySQL 服务(如 systemd 或 service 命令)。这里被注释掉,可能使用默认路径或由启动脚本管理。

这个配置文件的主要作用是:

1.设置 MySQL 的基本路径(basedir、datadir)。
2.允许远程连接(bind-address=0.0.0.0)。
3.优化连接和性能(skip-name-resolve、max_connections=2048)。
4.设置字符集和存储引擎(utf8、InnoDB)。
5.定义错误日志位置(log-error)。

将MySQL的可执行文件写入环境变量中
在这里插入图片描述

配置systemctl方式启动

将mysql添加成为系统服务,通过使用systemctl来管理。在/usr/local/mysql/support-files目录下找到MySQL.server文件,将其复制到/etc/init.d/mysqld目录下,改名为mysqld并赋予可执行权限

在这里插入图片描述

编辑生成mysqld.service服务,通过systemctl方式来管理

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

访问mysql数据库

MySQL 数据库系统也是一个典型的 C/S(客户端/服务器)架构的应用,要访问 MySQL 数据库需要使用专门的客户端软件。在Linux 系统中,最简单、易用的 MySQL 客户端软件是 其自带的 mysq1l命令工具。

1.登录到mysql服务器

经过安装后的初始化过程,MySQL数据库的默认管理员用户为“root”,密码为给定的随机密码。以root用户登录本机的MySQL数据库,可以执行:
在这里插入图片描述

在这里插入图片描述

2.执行MySQL操作语句

验证成功以后将会进入提示符为“mysql>”的数据库操作环境,用户可以输入各种操 作语句对数据库进行管理。每一条 MySQL 操作语句以分号“ ;”表示结束,输入时可以不区 分大小写,但习惯上将 MySQL 语句中的关键字部分大写。
例如,以用户名 root 登录到“mysql>”环境后,执行“SHOW DATABASES语句可以查 看当前数据库中有哪些库。
在这里插入图片描述

3.退出“MySQL>操作环境”

在"mysql>"操作环境中,执行“EXIT”或"QUIT"命令便可以退出mysql命令工具,返回原来的shell环境
在这里插入图片描述