RHEL9部署MySQL数据库及数据库的基本使用(增删改查,数据备份恢复)
目录
1 MySQL数据库简介
1.1 核心特点
1.2 主要功能
1.3 企业常用版本
2 配置源仓库(可以使用官方源也可以使用阿里源)
3 下载安装MySQL
4 MySQL安全初始化
5 数据库的基本使用
1 MySQL数据库简介
MySQL 是一款开源关系型数据库管理系统(RDBMS),由 Oracle 公司维护,因性能稳定、轻量易用、兼容性强,广泛用于 Web 应用、企业系统、数据分析等场景(如电商平台、博客系统、后台服务等),是 LAMP(Linux+Apache+MySQL+PHP)/LNMP 技术栈的核心组件之一。
1.1 核心特点
- 关系型数据库:基于 “表” 存储数据,表与表之间通过 “关系”(如主键、外键)关联,数据结构清晰,适合结构化数据(如用户信息、订单记录)。
- 开源免费:社区版完全免费,企业版提供商业支持,降低了中小型项目的使用成本。
- 跨平台:支持 Linux、Windows、macOS 等主流操作系统,兼容性强。
- 高性能:优化了查询效率,支持索引、事务等机制,能高效处理大量并发请求(如电商网站的订单提交)。
- 易用性:通过 SQL(结构化查询语言)操作数据,语法简洁,学习门槛低;提供命令行工具(如
mysql
客户端)和图形化工具(如 Navicat、MySQL Workbench)。
1.2 主要功能
- 数据存储:以表为单位组织数据,表由 “字段”(如
id
、name
)和 “记录”(每行数据)组成。 - 查询与操作:通过 SQL 语句实现数据的增删改查(如
SELECT
查数据、INSERT
加数据、UPDATE
改数据、DELETE
删数据)。 - 事务支持:确保一组操作要么全部成功,要么全部失败(如转账时 “扣钱” 和 “加钱” 必须同时完成),保证数据一致性。
- 索引:类似书籍目录,加速数据查询(如给
id
字段建索引,查询特定id
的数据时无需扫描全表)。 - 用户与权限管理:可创建不同用户,分配对数据库 / 表的操作权限(如只读、读写),保障数据安全。
1.3 企业常用版本
- MySQL 5.7:稳定版,兼容性强,仍被大量企业使用,支持多数核心功能(事务、索引、主从复制等)。
- MySQL 8.0:当前主流版本,新增特性包括:更快的查询性能、窗口函数(简化数据分析)、JSON 数据类型优化、默认使用更安全的
caching_sha2_password
认证插件等。 - MariaDB:MySQL 的分支(由原 MySQL 开发团队维护),完全兼容 MySQL 语法,开源属性更彻底,常作为 MySQL 的替代选择(部分 Linux 发行版默认预装 MariaDB)。
简单来说MySQL数据库可以理解为许多高性能的 EXCEL 表的集合。
2 配置源仓库(可以使用官方源也可以使用阿里源)
1.MySQL官方源仓库请参考:一篇文章带你了解 Zabbix 6.0在rhel9上的部署与应用-CSDN博客https://blog.csdn.net/m0_75254642/article/details/150774030?spm=1001.2014.3001.5501
MySQL :: MySQL 8.0 参考手册 :: 2.5.1 使用 MySQL Yum 存储库在 Linux 上安装 MySQLhttps://dev.mysql.com/doc/refman/8.0/en/linux-installation-yum-repo.html2.阿里源配置
# vim /etc/yum.repos.d/aliyun.repo
[ali_baseos]
name=ali_baseos
baseurl=https://mirrors.aliyun.com/centos-stream/9-stream/BaseOS/x86_64/os/
gpgcheck=0
[ali_appstream]
name=ali_appstream
baseurl=https://mirrors.aliyun.com/centos-stream/9-stream/AppStream/x86_64/os/
gpgcheck=0
# yum clean all
# yum makecache
# yum search mysql
3.搜索MySQL
3 下载安装MySQL
1.安装MySQL
# yum install -y mysql-server.x86_64 mysql.x86_64
2.查看安装对应版本
# mysql -V
3.设置开机自启动并查看状态
4 MySQL安全初始化
# mysql_secure_installation
5 数据库的基本使用
1.进入数据库
# mysql -uroot -p
2.查询数据库
mysql> SHOW DATABASES;
3.创建一个名为test的数据库
mysql> SHOW DATABASES;
4.进入test数据库
mysql> USE test
5.在test数据库创建userlist表
mysql> CREATE TABLE test.userlist (username varchar(10) not null, passwd varchar(50) not null);
6.查看表
mysql> SHOW TABLES;
mysql> SHOW TABLES FROM test;
7.删除表
mysql> DROP TABLE test.userlist;
8.查看表结构
mysql> DESC test.userlist;
9.插入信息
# 一次插入多组数据
mysql> INSERT INTO test.userlist VALUES ('user1', '123'), ('user2', '1234'), ('user3', '12345');
10.查询表中数据
mysql> SELECT * FROM test.userlist;
mysql> SELECT passwd FROM test.userlist WHERE username='user1';
11.修改表结构
mysql> ALTER TABLE test.userlist ADD age INT;
mysql> ALTER TABLE test.userlist DROP age;
# 添加age字段到username字段后
mysql> ALTER TABLE user_list ADD age varchar(4) AFTER username;
12.修改表名称
13.更新整列数据
mysql> select * from user_list;
14.修改单行中某个数据
15.删除整行数据
mysql> delete from user_list where username = 'user2';
16.备份数据库所有数据到指定文件
mysqldump -uroot -p -A > all.sql
17.备份数据库结构不备份数据(生产环境不建议暴漏密码)
mysqldump -uroot -p12345678 -A --no-data > /mnt/all-nodata.sql
18.备份指定的数据库到指定的文件
mysqldump -uroot -p12345678 test > /mnt/test.sql
19.删除表
drop table user_list;
20.删除指定库
21.恢复指定数据库(前提是数据提前备份)
# mysql -uroot -p12345678 -e "create database test;"
# mysql -uroot -p12345678 test < /mnt/test.sql
mysql -uroot -p12345678 -e "show databases;"
MySQL数据库的安装和基本使用到此结束!