MySQL的备份与恢复

Posted Zlwriii

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL的备份与恢复相关的知识,希望对你有一定的参考价值。

目录

前言

一、MySQL数据库备份

1.数据备份的重要性

2.数据库备份的分类

二、常见的备份方法

1.使用tar打包文件夹备份

2.使用mysqldump工具进行备份

三、恢复库操作

1.source 命令整库恢复

2.MySQL 命令整库恢复

四、恢复表操作

1.使用source命令恢复表

2.使用mysql命令恢复表

总结


前言

随着信息技术的飞速发展,数据库作为信息系统的核心承担着重要的角色。数据库备份,是在数据丢失的情况下,能及时恢复重要的数据,防止数据丢失的一种重要手段。一个合理的数据库备份方案,应该能都在数据丢失时,有效的恢复数据,同时需要考虑技术实现的难度和有效利用资源。

一、mysql数据库备份

1.数据备份的重要性

备份的主要目的就是灾难恢复。

在生产环境中,数据的安全性至关重要。

任何数据的丢失都可能产生严重的后果。

使用数据库的过程中,有多种原因造成数据丢失:程序错误、人为操作错误、运算错误、磁盘故障、灾难(天灾)和盗窃。

2.数据库备份的分类

从物理与逻辑的角度,备份可分为:

冷备份(脱机备份):在关闭数据库时进行的备份操作,能够较好地保证数据库的完整性。

热备份(联机备份):在数据库运行状态中进行操作,这种备份方法依赖于数据库的日志文件。

温备份:数据库锁定表格(不可写入但可读)的状态下进行备份操作。

从数据库的备份策略角度,备份可分为:

完全备份:每次对数据库进行完整的备份。

差异备份:备份从上次完全备份之后被修改过的文件。

增量备份:只有在上次完全备份或者增量备份后被修改的文件才会被备份。

二、常见的备份方法

1.使用tar打包文件夹备份

MySQL的数据库默认都是保存在安装目录的data文件夹下面,可以直接保存data文件夹,但占用空间较大,可以使用tar打包压缩进行保存。

需先安装xz压缩格式工具。

[root@localhost ~]# yum install xz -y

对数据库文件夹 /usr/local/mysql/data/ 进行打包操作。

[root@localhost ~]# systemctl stop mysqld
[root@localhost ~]# tar Jcvf /opt/mysql-$(date +%F).tar.xz /usr/local/mysql/data/
[root@localhost ~]# ls /opt/
mysql-2021-10-25.tar.xz
[root@localhost ~]# systemctl start mysqld

2.使用mysqldump工具进行备份

使用mysqldump更加灵活的控制备份的内容,比如某几个表或库都可以单独备份。

格式:mysqldump -u root -p[密码] --databases 库名1 [库名2] ... > /备份路径/备份文件名.sql

[root@localhost ~]# mysqldump -u root -p123456 --databases info > /opt/info.sql  #对info库进行备份
[root@localhost ~]# ls /opt/
info.sql
[root@localhost ~]# mysqldump -u root -p123456 --all databases > /opt/info.sql  #对所有库进行备份
[root@localhost ~]# mysqldump -u root -p123456 数据库名 表名 > /opt/info.sql
-d参数是复制表的样式,不复制参数内容
不使用-d,会把数据也备份

三、恢复库操作

当需要恢复整库的时候,可以使用source命令和mysql命令。

1.source 命令整库恢复

2.MySQL 命令整库恢复

在不登录MySQL的情况下,可以使用mysql命令直接恢复整库。

命令格式:mysql -uroot -p密码 < 库备份的脚本路径

四、恢复表操作

恢复数据同样可以使用source命令和mysql命令操作。

1.使用source命令恢复表

2.使用mysql命令恢复表

使用mysql命令恢复表的操作时,当备份文件中只包含表的备份,而不包括创建库的语句时,必须指定库名,且目标库必须存在。

格式:mysql -u 用户名 -p密码 库名 < 库备份脚本路径

总结

从物理逻辑的角度,备份可分为物理备份(冷备份、热备份)、逻辑备份。

从数据库的备份策略角度,备份可分为完全备份、差异备份和增量备份。

MySQL中使用mysqldump工具备份,它生成的是SQL的脚本文件。

恢复数据使用mysql、source命令。

备份可以针对整库、某些库或某些表进行。

以上是关于MySQL的备份与恢复的主要内容,如果未能解决你的问题,请参考以下文章

详解Mysql自动备份与恢复的几种方法(图文教

MySQL备份与恢复

Mysql备份与恢复

MySQL备份与恢复

MySQL备份与恢复

Mysql 备份恢复与 xtrabackup备份