(Linux操作系统)MySQL在Centos7环境安装和MySQL数据库基础
一、MySQL 安装与配置指南
检查现有 MariaDB 服务状态
- 查看运行中的 MariaDB 进程:
ps ajx | grep mariadb - 停止 MariaDB 服务:
systemctl stop mariadb
清理冲突软件
- 列出已安装的 MariaDB/MySQL 包:
rpm -qa | grep mariadb rpm -qa | grep mysql - 卸载相关软件:
yum remove mariadb mysql
配置官方 YUM 源
- 访问 MySQL 官方仓库:
http://repo.mysql.com/ - 查看系统版本以匹配正确的 YUM 源:
cat /etc/redhat-release
安装 YUM 源
-
检查现有仓库配置:
ls /etc/yum.repos.d/ -al结果显示:未配置 MySQL YUM 源
-
添加官方仓库:
rpm -ivh mysql-community-release-el7.rpm验证:MySQL YUM 源添加成功
安装 MySQL 服务
执行安装命令:
yum install -y mysql-community-server
验证安装
- 检查配置文件:
ls /etc/my.cnf - 查看数据目录:
ls /var/lib/mysql
服务管理
- 启动 MySQL 服务:
systemctl start mysqld.service - 验证服务状态:
结果:显示 mysqld 进程表示服务正常运行ps axj | grep mysqld
注意:所有操作需使用 root 权限
二、MySQL 登录方法
登录命令格式:
mysql -h 主机地址 -P 端口号 -u 用户名 -p
参数说明:
-h连接主机(默认 localhost)-P数据库端口(默认 3306)-u用户名-p密码(输入时不显示)
注意:密码与-p间无空格
密码问题解决方案
免密登录配置:
- 修改 MySQL 配置文件:
在/etc/my.cnf中添加:skip-grant-tables - 重启服务:
systemctl restart mysqld
三、解读和设置配置文件my.cnf

四、数据库基础概念
系统组成
mysql:客户端工具mysqld:服务端进程
架构特点
基于C(mysql)S(mysqld)模式的一种网络服务
数据库理解
定义:一般指的是,在磁盘或者内存中存储的特定结构组织的数据 ,也是将来在磁盘上存储的一套数据库方案
价值:提供专业的数据管理方案,避免手动处理原始数据文件
本质:是对数据内容存储的一套解决方式,比如你给我字段给或者要求,我直接给你结果就行
数据库的必要性:以文件为例,当需要处理包含大量数据的文件时,手动编写代码进行数据筛选和操作会十分繁琐。数据库通过结构化存储数据,将操作需求从客户端(MySQL)提交到服务端(MySQLd),由服务端完成数据处理并返回结果,省去了手动操作文件内容的麻烦。虽然普通文件具备基本的数据存取功能,但缺乏高效的数据管理能力,而这正是数据库的优势所在。
工作流程:
客户端请求 → 服务端处理 → 返回结果

五、主流数据库简介
SQL Server :
微软开发的数据库产品,深受.Net开发者青睐,适用于中大型项目开发。
Oracle :
甲骨文公司旗下的企业级数据库,擅长处理复杂的业务逻辑和大型项目,但在并发性能方面通常不及MySQL。
MySQL :
全球最流行的开源数据库(现属甲骨文),具有优异的并发性能,特别适合电商、社交网络和论坛等应用场景,但对复杂业务逻辑的处理能力有限。
PostgreSQL :
由加州大学伯克利分校开发的关系型数据库,提供完整的开源授权,可自由用于私有、商业及学术用途。
SQLite :
轻量级嵌入式关系型数据库,完全符合ACID特性。其C语言库体积小巧,在嵌入式设备中仅需数百KB内存资源。
H2 :
基于Java开发的嵌入式数据库引擎,可直接作为类库集成到应用程序中。## 五、主流数据库简介
SQL Server :
微软开发的数据库产品,深受.Net开发者青睐,适用于中大型项目开发。
Oracle
甲骨文公司旗下的企业级数据库,擅长处理复杂的业务逻辑和大型项目,但在并发性能方面通常不及MySQL。
MySQL :
全球最流行的开源数据库(现属甲骨文),具有优异的并发性能,特别适合电商、社交网络和论坛等应用场景,但对复杂业务逻辑的处理能力有限。
PostgreSQL :
由加州大学伯克利分校开发的关系型数据库,提供完整的开源授权,可自由用于私有、商业及学术用途。
SQLite :
轻量级嵌入式关系型数据库,完全符合ACID特性。其C语言库体积小巧,在嵌入式设备中仅需数百KB内存资源。
H2 :
基于Java开发的嵌入式数据库引擎,可直接作为类库集成到应用程序中。
六、服务器,数据库,表的关系

七、基础操作示例
CREATE DATABASE helloworld;
SHOW DATABASES;
USE helloworld;
CREATE TABLE student (id INT, name VARCHAR(32), gender VARCHAR(2));
INSERT INTO student VALUES (1,'张三','男'), (2,'李四','女');
SELECT * FROM student;
存储结构映射
- 创建数据库操作实质是在Linux系统下生成对应的目录
- 在数据库中创建数据表等同于在对应目录内创建文件
数据库本质上仍是文件,但这些文件不由开发者直接管理,而是通过数据库服务进行统一操作
八、SQL分类
数据库操作语言分类
DDL(数据定义语言)
用于定义和维护数据库结构
主要指令:
- CREATE
- DROP
- ALTER
DML(数据操纵语言)
用于对数据进行操作
主要指令:
- INSERT
- DELETE
- UPDATE
注:DQL(数据查询语言)是DML的子集,专门用于数据查询
主要指令:
- SELECT
DCL(数据控制语言)
用于权限管理和事务控制
主要指令:
- GRANT
- REVOKE
- COMMIT
九.MySQL架构
MySQL 是一个可移植的数据库,几乎能在当前所有的操作系统上运行,如 Unix/Linux、Windows、
Mac 和 Solaris。各种系统在底层实现方面各有不同,但是 MySQL 基本上能保证在各个平台上的物理体系结构的一致性。

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

