mysql备份与恢复

 数据库常用备份方案

全量备份

增量备份

差异备份

备份方案 特点
全量备份 全量备份就是指对某一个时间点上的所有数据或应用进行的一个完全拷贝。
数据恢复快。
备份时间长
增量备份 增量备份是指在一次全备份或上一次增量备份后,以后每次的备份只需备份
与前一次相比增加和者被修改的文件。这就意味着,第一次增量备份的对象
是进行全备后所产生的增加和修改的文件;第二次增量备份的对象是进行第一次增量
备份后所产生的增加和修改的文件,如此类推。

没有重复的备份数据
备份时间短
恢复数据时必须按一定的顺序进行
差异备份 备份上一次的完全备份后发生变化的所有文件。
差异备份是指在一次全备份后到进行差异备份的这段时间内
对那些增加或者修改文件的备份。在进行恢复时,我们只需对第一次全量备份和最后一次差异备份进行恢复

 

 

 

 

 

 

 

 

 

 

 

 

mysql备份工具

mysqldump [OPTIONS] database [tables ...]
    mysqldump [OPTIONS] --all-databases [OPTIONS]
    mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
-uUSERNAME      //指定数据库用户名
    -hHOST          //指定服务器主机,请使用ip地址
    -pPASSWORD      //指定数据库用户的密码
    -P#             //指定数据库监听的端口,这里的#需用实际的端口号代替,如-P3307

备份整个数据库
[root@zwy1 ~]# mysqldump -uroot -p4564949a --all-databases > all-$(date "+%y%m%d").sql

备份数据库下的所有表

[root@zwy1 ~]# mysqldump -uroot -p4564949a zwy1 student >all-table.sql

备份单个数据库

[root@zwy1 ~]# mysqldump -uroot -p4564949a --databases zwy1 > zwy1.sql
模拟误删数据库
mysql> drop database zwy1;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

mysql> create database school;
Query OK, 1 row affected (0.00 sec)

mysql> use school;
Database changed                 
mysql> source all-table.sql          #恢复
Query OK, 0 rows affected (0.00 sec)

mysql> show tables;
+------------------+
| Tables_in_school |
+------------------+
| student |
+------------------+
1 row in set (0.00 sec)

第二种直接恢复数据库

[root@zwy1 ~]# mysql -e drop database school;
[root@zwy1 ~]# mysql -e show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
[root@zwy1 ~]# ls
all-210507.sql  all-table.sql  anaconda-ks.cfg  mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz  nginx-1.18.0  nginx-1.18.0.tar.gz  pass  zwy1.sql[root@zwy1 ~]# mysql < zwy1.sql
[root@zwy1 ~]# mysql -e show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| zwy1               |
+--------------------+

 

 

 

 
















































mysql备份与恢复

上一篇:06 Spark SQL 及其DataFrame的基本操作


下一篇:JDBC连接配置