跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
SQL

MySQL 数据库基础与 Linux 环境安装指南

CentOS 7 环境下安装 MySQL 5.7 需先卸载 MariaDB 等旧环境,配置官方 YUM 源并安装服务。配置完成后启动 mysqld 服务,修改配置文件跳过密码验证登录。文章涵盖数据库基本概念、主流数据库对比、表与目录关系、架构原理、SQL 语言分类及存储引擎说明,并通过命令行演示了建库建表及数据插入流程。

AiEngineer发布于 2026/3/16更新于 2026/10/2495 浏览
MySQL 数据库基础与 Linux 环境安装指南

前言

在学习数据库之前,首先最重要的就是如何安装数据库。本文讲述的是 MySQL 数据库的安装过程,为了更好的掌握 MySQL,直接使用 Linux 终端来进行学习。

1. 数据库相关环境的安装

1. 使用的 Linux 环境

目前使用的 Linux 版本是 CentOS 7,虽然该版本之后将不再更新,但对于学习 Linux 比较友好。

2. 卸载不要的环境

输入下面的指令来卸载掉不需要的环境。

ps aux | grep mariadb # 先检查是否有 mariadb 存在
# 如果出现一大段数据,那么代表着此时已经存在了
systemctl stop mariadb.service # 停止 mariadb 服务
# 之后再输入第一条指令,就可以看到服务已经成功停止了
3. 检查系统的安装包

输入下面的指令,查看此时安装包是否存在。

grep mariadb
grep mysql
# 输入第二条指令,可能会出现下面的内容
# mysql-community-common-5.7.41-1.el7.x86_64
# mysql-community-server-5.7.41-1.el7.x86_64
# mysql57-community-release-el7-11.noarch
# mysql-community-client-5.7.41-1.el7.x86_64
# mysql-community-libs-5.7.41-1.el7.x86_64
4. 卸载默认安装包

输入下面的指令。

sudo yum remove mariadb # 超级用户进行删除
5. 获取 MySQL 中的官方 yum 源

需要到官方网站去获取 yum 源:https://repo.mysql.com/。 此时需要找到和我们 Linux 系统一个版本的 MySQL。为了保持运行环境一致,推荐采用 5.7 这个版本。 这里我们需要安装和 Linux 系统环境一致的版本。如果不知晓自己的 Linux 的版本是多少,可以输入下面的指令:

cat /etc/redhat-release

当前 CentOS 的版本是 7.9,所以选择 el7.9 即可(代表 centos 的 7.9 版本)。点击下载相关的 rpm 文件,将其放入到 Linux 系统中。

rz # 把 Windows 系统的相关文件等等放入到 Linux 中
6. 将获取的 yum 源进行解压

压缩包已存在于 /root 路径下。需要将.rpm 样子的压缩包进行解压操作。

rpm -ivh 压缩包的名字

压缩完之后,为了查看是否成功的安装,可以输入下面的指令。

ls /etc/yum.repos.d/ -l
7. 安装 MySQL 服务

输入下面的指令进行安装 MySQL(根据上面 yum 源的配置):

yum install -y mysql-community-server # 安装服务器和客户端

如果在安装的时候遇到报错:

Failing package is: mysql-community-client-5.7.39-1.el7.x86_64 GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

这代表着秘钥过期了,输入下面的指令,再重新安装一次即可。

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
8. 查看自己是否安装成功

进行完上面的安装操作以后,需要进行两个操作来查看 MySQL 是否安装成功了。

1. 查看配置文件

输入下面的指令,如果相符,那么代表第一个操作正确。

ls /etc/my.cnf
2. 查看数据存储位置

输入下面的指令,和图中相符的话代表是正确的。

ls /var/lib/mysql

如果上面两个指令都执行成功的话,那么说明此时我们安装成功了。

9. 启动 mysqld 服务器

输入下面的指令即可成功的启动服务器:

systemctl start mysqld.service

之后查看服务器是否启动了,输入下面的指令。

ps axj | grep mysqld

出现第一行内容,即可代表成功启动服务器了。

10. 配置 mysql 配置文件

通过 vim 打开相关 mysql 配置文件,进行相关配置。

vim /etc/my.cnf

在文件的最后,加入下面的代码:

skip-grant-tables # 代码没有密码就可以进行 mysql 的登录
port=3306
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
character-set-server=utf8
default-storage-engine=innodb
# 配置完毕,重启 mysql 即可
11. 尝试登录 mysql

在进行上面的配置结束以后,输入下面的指令进行 mysql 的登录。

mysql -uroot -p # 最好使用 root 账户

直接 enter 即可,因为上面我们配置了可以无须密码登录,所以此时确定即可。

2. 数据库是什么

通常,我们习惯于使用文件存储数据。然而,单纯依赖文件存储存在诸多弊端:

  1. 文件安全性脆弱,数据极易泄露或被非法篡改;
  2. 数据查询和管理效率低下;
  3. 不适合存储海量数据;
  4. 在实际编程中使用极不方便。

因此,我们需要一种更高效、更安全的数据存储方案——数据库。 数据库通常采用磁盘或内存存储,这种存储机制使其能够更高效、更灵活地管理和存储大规模数据。与传统文件存储相比,数据库在数据安全、检索速度和管理便捷性上都具有显著优势。所以,数据库其实就是一个存储大规模数据的'文件夹'。

3. 主流的数据库

当今,数据库有很多的种类,常见的数据库包括:

  1. SQL Server:微软的产品,.Net 程序员的最爱,中大型项目。
  2. Oracle:甲骨文产品,适合大型项目,复杂的业务逻辑,并发一般来说不如 MySQL。
  3. MySQL:世界上最受欢迎的数据库,属于甲骨文,并发性好,不适合做复杂的业务。主要用在电商,SNS,论坛。对简单的 SQL 处理效果好。
  4. PostgreSQL:加州大学伯克利分校计算机系开发的关系型数据库,不管是私用,商用,还是学术研究使用,可以免费使用,修改和分发。
  5. SQLite:是一款轻型的数据库,是遵守 ACID 的关系型数据库管理系统,它包含在一个相对小的 C 库中。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百 K 的内存就够了。
  6. H2:是一个用 Java 开发的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中。

4. 表是什么

当我们首次登录数据库的时候,输入下面的指令,就可以看到 MySQL 有几个数据库。

show databases; # 这条指令是查看 MySQL 中的数据库有几种,这里要提醒各位,数据库最后是需要;结尾的,这个点要注意。

MySQL 中的数据库在 Linux 中,是以目录的形式存在的。也就是说当我们建立数据库的时候,其实就是在 Linux 下建立一个目录。此时我们在 Linux 中输入下面的指令,就可以看到上面的库。

ll /var/lib/mysql/

这些目录就是上面中我们查看到的数据库。但是我们一般都不是对数据库进行操作,而是对数据库中的表进行操作。数据库的表其实就是 Linux 下的一个个文件,表里面都是存储一些重要的数据。

5. 服务器,数据库,表关系

所谓安装数据库服务器,只是在机器上安装了一个数据库管理程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。 为保存应用中实体的数据,一般会在数据库中创建多个表,以保存程序中实体的数据。 它们的三者的关系如下所示: 当然,我们进行建立数据库,创建表等等的操作,这些工作其实都是 mysqld 来帮助我们完成的,它是 MySQL 的服务器,而 mysql 是 MySQL 的客户端。

6. 快速上手数据库

为了让更好的知晓数据库应该如何进行操作,下面简单的给各位使用一下相关的指令。

1. 创建一个数据库
create database boke_1;
2. 看一眼是否创建成功
show databases;
3. 进入数据库
use boke_1;
4. 查看有几张表
show tables; # 此时没插入内容,所以为空
5. 创建一个表
create table t1( 
    name varchar(20) not null, 
    tel varchar(20) 
);
6. 插入两组数据
insert into t1 values('小王','121212323'),('小李','1121212');
7. 查看表内容
select * from t1;

以上就是 MySQL 相关的简单操作。

7. MySQL 架构

MySQL 是一个可移植的数据库,几乎可以在当前所有的操作系统运行,如 UNIX/Linux,Windows、MAC。各种系统在底层实现方面各有不同,但是 MySQL 基本上能保证在各个平台上的物理体系结构的一致性。

8. SQL 分类

一般来说,SQL 是分为下面这三类的。

  1. DDL【data definition language】数据定义语言,用来维护存储数据的结构。就比如:create,drop,alter。
  2. DML【data manipulation language】数据操纵语言,用来对数据进行操作。例如:insert,delete,update。
  3. DCL【Data Control Language】数据控制语言,主要负责管理和事务。例如:grant,revoke,commit。

9. 存储引擎

1. 是什么

存储引擎是数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。MySQL 的核心就是插件式存储引擎,支持多种引擎存储。

2. 在哪里

通过一条指令就可以查到。

show engines;

涉及的存储引擎一般就是第一行那个,这点记住就好。

3. 存储引擎对比

(此处省略对比图表,建议查阅官方文档)

目录

  1. 前言
  2. 1. 数据库相关环境的安装
  3. 1. 使用的 Linux 环境
  4. 2. 卸载不要的环境
  5. 如果出现一大段数据,那么代表着此时已经存在了
  6. 之后再输入第一条指令,就可以看到服务已经成功停止了
  7. 3. 检查系统的安装包
  8. 输入第二条指令,可能会出现下面的内容
  9. mysql-community-common-5.7.41-1.el7.x86_64
  10. mysql-community-server-5.7.41-1.el7.x86_64
  11. mysql57-community-release-el7-11.noarch
  12. mysql-community-client-5.7.41-1.el7.x86_64
  13. mysql-community-libs-5.7.41-1.el7.x86_64
  14. 4. 卸载默认安装包
  15. 5. 获取 MySQL 中的官方 yum 源
  16. 6. 将获取的 yum 源进行解压
  17. 7. 安装 MySQL 服务
  18. 8. 查看自己是否安装成功
  19. 1. 查看配置文件
  20. 2. 查看数据存储位置
  21. 9. 启动 mysqld 服务器
  22. 10. 配置 mysql 配置文件
  23. 配置完毕,重启 mysql 即可
  24. 11. 尝试登录 mysql
  25. 2. 数据库是什么
  26. 3. 主流的数据库
  27. 4. 表是什么
  28. 5. 服务器,数据库,表关系
  29. 6. 快速上手数据库
  30. 1. 创建一个数据库
  31. 2. 看一眼是否创建成功
  32. 3. 进入数据库
  33. 4. 查看有几张表
  34. 5. 创建一个表
  35. 6. 插入两组数据
  36. 7. 查看表内容
  37. 7. MySQL 架构
  38. 8. SQL 分类
  39. 9. 存储引擎
  40. 1. 是什么
  41. 2. 在哪里
  42. 3. 存储引擎对比

更多推荐文章

查看全部
  • Linux 管道通信详解:匿名管道进程池与命名管道服务端模型
  • Web 团队开发 App,是否应该选择 Capacitor?
  • 多模态 Agent 图像识别技能开发:JavaScript+Python 全栈图像处理方案
  • Telegram 搜索机器人搭建指南(含 Python 脚本)
  • Spring AI 快速入门:核心接口与流式输出详解
  • 前端请求后端返回 404/405/500 状态码排查与解决指南
  • Windows 下 Node.js 安装指南:多方法与开发环境配置
  • C++ 实现四舍五入算法详解
  • LeetCode 3661 可以被机器人摧毁的最大墙壁数目解法分析
  • 复杂场景下 H5 与小程序通信实践
  • Qwen3-VL-4B-Thinking 多模态垂直微调实战:基于 Llama Factory
  • 8个高效Python数据分析技巧与代码示例
  • PowerShell 中 Invoke-WebRequest 正确用法:避开参数匹配陷阱
  • AI 生成 UI 设计工具盘点:主流平台与免费额度参考
  • Android 车载开发转型与 Framework 核心技术解析
  • AgentScope Java 与 Spring AI Alibaba Workflow 集成指南
  • Docker 可视化管理与远程访问配置指南
  • 并发编程面试:乐观锁与悲观锁的区别及应用场景
  • 冒泡排序算法原理与 C 语言实现
  • Django 配置 Swagger 文档的详细步骤与代码示例

相关免费在线工具

  • SQL 美化和格式化

    在线格式化和美化您的 SQL 查询(它支持各种 SQL 方言)。 在线工具,SQL 美化和格式化在线工具,online

  • SQL转CSV/JSON/XML

    解析 INSERT 等受限 SQL,导出为 CSV、JSON、XML、YAML、HTML 表格(见页内语法说明)。 在线工具,SQL转CSV/JSON/XML在线工具,online

  • CSV 工具包

    CSV 与 JSON/XML/HTML/TSV/SQL 等互转,单页多 Tab。 在线工具,CSV 工具包在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online