前言
数据库在各种服务应用中是不可或缺的存在,数据库存放着用户的各种数据以及参数。所以数据库的备份和还原也成为了运维的一项必备的技能,在此记录。
数据库(Database)是长期存储在计算机内有组织、可共享的数据集合,通过数据库管理系统(DBMS)统一管理,核心特性包括:
- 结构化存储:数据按特定模型(如表格)组织,减少冗余,提升一致性 410。
- 数据独立性:物理存储结构变动不影响逻辑结构,逻辑结构变动不影响应用程序 410。
- 共享性与安全性:支持多用户并发访问,通过权限控制保障数据安全 49。
- 持久化管理:提供事务机制(如回滚、提交)确保数据完整性与可靠性 11。
其中数据库又分为
- 关系型数据库(RDBMS)
- 结构:数据以二维表格(行/列)存储,表间通过主键/外键关联 。
- 特点:支持ACID事务(原子性、一致性、隔离性、持久性),适合高一致性场景(如金融系统)
代表产品:MySQL、Oracle、SQL Server、PostgreSQL
- 非关系型数据库(NoSQL)
处理半/非结构化数据(如日志、社交网络数据)、高并发读写
整理完了基本的概念,那么大概就能明白数据库的重要性
- 备份单个数据库
mysqldump -u [username] -p[password] [database_name] > backup.sql
- 备份所有数据库
mysqldump -u [username] -p[password] --all-databases > all_backup.sql
- 备份特定表
mysqldump -u [username] -p[password] [database_name] [table1] [table2] > tables_backup.sql
- 还原单个数据库
mysql -u [username] -p[password] [database_name] < backup.sql
- 如果数据库不存在,需要先创建
mysql -u root -p -e "CREATE DATABASE [database_name]"
mysql -u [username] -p[password] [database_name] < backup.sql
- 使用source命令还原
mysql -u root -p "密码" #进入数据库
use database #使用某个数据库
source "path" #在此数据库中还原

Comments NOTHING