个人用云计算学习笔记 --19 (MariaDB服务器)
文章目录
- MariaDB 服务器
-
- 一、数据库基础与 MariaDB 概述
-
- 1. 数据库核心概念
- 2. MariaDB 核心特性
- 二、MariaDB 部署(基于 Rocky8)
-
- 1. 安装软件包
- 2. 服务启停与自启配置
- 3. 防火墙配置
- 4. 数据库加固(必做)
- 三、MariaDB 连接与配置
-
- 1. 连接方式
- 2. 核心配置文件
- 3. 关键配置参数(服务端)
- 4. 客户端配置示例(/etc/my.cnf.d/mysql-clients.cnf)
- 四、MariaDB SQL 操作(核心)
-
- 1. SQL 分类与核心语句
- 2. 数据库操作
- 3. 表操作(以`inventory`数据库为例)
-
- (1)表结构管理
- (2)数据 CRUD 操作
- (3)多表查询与函数
- 五、MariaDB 用户与权限管理
-
- 1. 用户账户特性
- 2. 用户创建与删除
- 3. 权限体系
-
- (1)权限范围(从大到小)
- (2)权限操作
- (3)常见授权示例
- 4. 密码管理
- 5. 常见访问问题排查
- 6. 忘记 root 密码的解决步骤
- 六、MariaDB 备份与恢复
-
- 1. 备份方式对比
- 2. 逻辑备份与恢复(使用`mysqldump`)
-
- (1)备份操作
- (2)恢复操作
- 3. 物理备份与恢复(使用`mariabackup`)
-
- (1)备份操作
- (2)恢复操作
MariaDB 服务器
一、数据库基础与 MariaDB 概述
1. 数据库核心概念
- 定义:按特定数据结构组织、存储数据的仓库,支持多种数据管理操作。
- 数据结构:数据的组织形式或数据间的关联关系,决定数据存储与调用逻辑。
2. MariaDB 核心特性
-
起源与定位:MySQL 的开源分支,由开源社区维护,采用 GPL 授权;因 Oracle 收购 MySQL 后存在闭源风险而生,旨在保障开源属性。
-
兼容性:完全兼容 MySQL 的 API 和命令行,可直接替代 MySQL。
-
数据组织
:一个 MariaDB 实例可包含多个 database,每个database包含多张表;表采用二维结构,与 Excel 工作表类似,具体对应关系如下:
- 行:一条记录(元组),代表一个完整的数据条目。
- 列:一个字段(属性),描述数据的某一维度,需定义数据类型、长度等属性。
- 单元格:行与列的交叉点,存储单个属性值。
-
应用场景:常用于 LAMP/LNMP 架构,作为 Web 应用的后端数据存储,例如存储网站用户数据、商品信息、交易记录等。
二、MariaDB 部署(基于 Rocky8)
1. 安装软件包
MariaDB 服务端与客户端需分别安装,依赖 AppStream 存储库:
- 安装服务端:
[root@server~]# dnf install -y mariadb-server - 安装客户端:
[root@server~]# dnf install -y mariadb
2. 服务启停与自启配置
- 启用并立即启动服务:
[root@server~]# systemctl enable --now mariadb - 单独启动 / 停止 / 重启:
systemctl start/stop/restart mariadb
3. 防火墙配置
开放 MariaDB 默认端口(3306/TCP)对应的服务:
- 永久添加服务规则:
[root@server~]# firewall-cmd --permanent --add-service=mysql - 重载防火墙使规则生效:
[root@server~]# firewall-cmd --reload
4. 数据库加固(必做)
通过mysql_secure_installation脚本修复默认不安全配置,交互式完成以下操作:
- 为 root 账户设置密码(默认无密码)。
- 禁止 root 账户从非本地主机访问(限制远程 root 登录)。
- 删除匿名用户账户(避免未授权访问)。
- 删除默认 test 数据库(减少测试数据泄露风险)。
三、MariaDB 连接与配置
1. 连接方式
| 连接方式 | 适用场景 | 特点 | 连接示例 |
|---|---|---|---|
| 套接字文件连接 | 客户端与服务器在同一主机 | 无需网络,安全性高,性能好 | mysql -u root -p(默认使用/var/lib/mysql/mysql.sock) |
| TCP/IP 网络连接 | 客户端与服务器在不同主机 | 需网络通信,支持远程访问,服务器需监听 3306 端口 | mysql -u root -h 192.168.1.100 -p |
2. 核心配置文件
| 配置文件 / 目录 | 作用 | 关键配置参数 |
|---|---|---|
/etc/my.cnf |
主配置文件,全局生效 | 包含基础配置引用,通常不直接修改具体参数 |
/etc/my.cnf.d/ |
辅助配置目录,按功能拆分配置 | - mariadb-server.cnf:服务端核心配置,如bind-address、port、skip-networking- mysql-clients.cnf:客户端配置,如默认连接用户、主机、端口 |
3. 关键配置参数(服务端)
-
bind-address:指定监听的网络地址,仅允许一个值,可选:
- 单个 IPv4 地址(如
192.168.1.100) - 单个 IPv6 地址(如
fde2:6494:1e09:2::20) :::监听所有 IPv4 和 IPv6 地址- 空值 /
0.0.0.0:监听所有 IPv4 地址 - 本地回环地址(
127.0.0.1/::1):仅允许本地连接
- 单个 IPv4 地址(如
-
skip-networking:禁用网络连接,仅允许套接字连接;skip-networking=0(默认)启用网络连接,=1禁用。 -
port:指定监听端口,默认 3306/TCP,可自定义非冲突端口。
4. 客户端配置示例(/etc/my.cnf.d/mysql-clients.cnf)
[mysql]
user=laoma # 默认连接用户
password=redhat # 默认密码(生产环境不建议明文存储)
host=server
本文地址:https://www.yitenyun.com/7008.html
上一篇:学习预处理
下一篇:Linux系统基础安全








