前言
本文介绍 MySQL 数据库的基础知识,重点讲解在 Linux 环境下从零开始安装、配置及基本操作。
1. 数据库相关环境的安装
在学习数据库之前,首先需要安装数据库。本文以 MySQL 为例,使用 Linux 终端进行操作。
1. 使用的 Linux 环境
本文使用的 Linux 版本为 CentOS 7。
2. 卸载不需要的环境
输入以下指令检查是否有 MariaDB 存在:
ps aux | grep mariadb
如果输出数据,说明已存在。停止服务:
systemctl stop mariadb.service
再次执行第一条指令确认服务已停止。
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 链接。若无法看到全称,可右键查看页面源代码或按 Ctrl + U。
推荐采用 5.7 版本。确认当前 Linux 版本:
cat /etc/redhat-release
假设当前为 CentOS 7.9,选择 el7.9 对应的 RPM 文件下载至 Windows 磁盘,然后传输到 Linux 系统中(或使用 rz 命令):
rz
6. 解压 YUM 源
压缩包位于 /root 路径下。使用以下指令解压 .rpm 包:
rpm -ivh 压缩包的名字
验证安装是否成功:
ls /etc/yum.repos.d/ -l
7. 安装 MySQL 服务
根据配置的 YUM 源安装 MySQL:
yum install -y mysql-community-server
若遇到 GPG Key 过期报错,输入以下指令导入密钥后重试:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
8. 验证安装
查看配置文件:
ls /etc/my.cnf
查看数据存储位置:
ls /var/lib/mysql
若上述目录存在,说明安装成功。
9. 启动 mysqld 服务器
启动服务:
systemctl start mysqld.service
查看进程:
ps axj | grep mysqld
出现相关进程信息即代表启动成功。
10. 配置 MySQL 配置文件
使用 vim 打开配置文件:
vim /etc/my.cnf
在文件末尾加入以下内容:
skip-grant-tables
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
使用 root 账户登录:
mysql -uroot -p
由于配置了免密登录,直接回车即可进入 MySQL 界面。
2. 数据库是什么
通常使用文件存储数据存在安全性脆弱、查询效率低、不适合海量数据等弊端。数据库采用磁盘或内存存储,能更高效、安全地管理大规模数据。本质上,数据库是存储大规模数据的'文件夹'。
3. 主流的数据库
- SQL Server:微软产品,适合中大型项目。
- Oracle:甲骨文产品,适合大型项目及复杂业务逻辑。
- MySQL:全球最受欢迎的数据库,并发性好,常用于电商、SNS、论坛。
- PostgreSQL:加州大学伯克利分校开发,支持商用和学术研究。
- SQLite:轻型嵌入式数据库,资源占用低。
- H2:Java 开发的嵌入式数据库。
4. 表是什么
首次登录数据库可查看现有数据库:
show databases;
MySQL 中的数据库在 Linux 中以目录形式存在(如 /var/lib/mysql/)。表则是数据库中的文件,用于存储具体数据。
5. 服务器、数据库、表关系
数据库服务器(mysqld)管理多个数据库,每个应用通常对应一个数据库。数据库中创建多个表以保存实体数据。三者关系为:服务器 > 数据库 > 表。
6. 快速上手数据库
创建数据库:
create database boke_1;
查看数据库:
show databases;
进入数据库:
use boke_1;
查看表:
show tables;
创建表:
create table t1(
name varchar(20) not null,
tel varchar(20)
);
插入数据:
insert into t1 values('小王','121212323'),('小李','1121212');
查看内容:
select * from t1;
7. MySQL 架构
MySQL 可移植性强,支持 UNIX/Linux、Windows、MAC 等操作系统,物理体系结构保持一致。
8. SQL 分类
- DDL (Data Definition Language):数据定义语言,维护数据结构(如 create, drop, alter)。
- DML (Data Manipulation Language):数据操纵语言,操作数据(如 insert, delete, update)。
- DCL (Data Control Language):数据控制语言,管理事务(如 grant, revoke, commit)。
9. 存储引擎
存储引擎决定数据如何存储、索引建立及更新查询方式。MySQL 核心为插件式存储引擎。
查看引擎:
show engines;
常用引擎为 InnoDB。


