备份与恢复
MySQL 数据备份用于灾难恢复、迁移与合规。常用方式包括逻辑备份(mysqldump)、物理备份(Percona XtraBackup 等)以及云厂商快照;本节介绍最通用的 mysqldump 与恢复流程。
逻辑备份(mysqldump)
mysqldump 将表结构和数据导出为 SQL 文件,适合中小型库、跨版本迁移。
备份单个库
bash
mysqldump -u backup_user -p \
--single-transaction \
--routines --triggers \
school > school_$(date +%Y%m%d).sql
| 参数 | 说明 |
|---|---|
--single-transaction | InnoDB 一致性快照(不锁表),仅对 InnoDB 有效 |
--routines | 导出存储过程、函数 |
--triggers | 导出触发器 |
备份全实例(慎用)
bash
mysqldump -u backup_user -p --all-databases > all_$(date +%Y%m%d).sql
仅结构或仅数据
bash
mysqldump -u backup_user -p --no-data school > school_schema.sql
mysqldump -u backup_user -p --no-create-info school > school_data.sql
恢复
bash
mysql -u root -p school < school_20250425.sql
若库不存在,先创建:
sql
CREATE DATABASE school CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
生产环境建议
- 使用专用备份账号,仅授予
SELECT、LOCK TABLES(视方式而定)、RELOAD等必要权限。 - 定期做恢复演练,确认备份文件可导入且数据完整。
- 大库或低停机要求:评估物理备份、主从复制、云 RDS 自动备份等方案。
- 敏感备份文件加密存储,控制访问权限。
参考文献
| 资料 | 说明 |
|---|---|
| mysqldump | 官方 |
| Backup and Recovery | 概述 |
| 用户权限 | 备份账号授权 |
相关文章
常用函数
MySQL 提供了丰富的内置函数,用于处理字符串、数值、日期和时间以及条件逻辑。下面分类介绍最常用的基础函数。
多表查询
多表查询用于从两个或更多表中获取数据。常见的连接类型包括内连接、外连接(左、右)和自连接。
MySQL 安装与基本操作
MySQL 的安装因操作系统而异,但安装完成后,通过命令行客户端连接并进行基本管理的方法是通用的。下面分别介绍安装方式和常用命令。
数据类型
MySQL 支持多种数据类型,可分为数值、字符串、日期时间、枚举/集合以及 JSON 等。选择合适的类型可以优化存储空间和查询性能。
查询数据
数据查询语言(DQL)用于从数据库中检索数据,核心是 SELECT 语句。下面从基础查询、条件筛选、排序、限制行数、聚合与分组等方面进行介绍。
数据库与表的基本操作
DDL(Data Definition Language)用于定义数据库结构,包括创建、修改、删除数据库和表。下面介绍 MySQL 中常用的 DDL 语句。
Series
mysql
2 / 11