Mysql完全备份和恢复

Mysql完全备份和恢复

实验介绍

数据库备份从物理与逻辑的角度划分可以分为:物理备份、逻辑备份。从数据库的备份策略角度,可以分为完全备份、差异备份、增量备份。这次实验主要介绍完全备份,完全备份优点是备份与恢复操作简单方便,缺点是数据存在大量的重复,占用大量的备份空间,备份时间长。

Mysql完全备份

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

Mysql的数据库文件默认都是保存在安装目录下的data文件夹下面,可以直接保存data文件夹。但是占用的空间很大,可以使用tar打包压缩进行保存。由于数据库文件很大,可以直接使用压缩率较大的xz格式压缩,所以首先要安装xz压缩格式工具。

[[email protected] opt]# yum install xz -y

然后,对数据库文件夹/usr/local/mysql/data/进行打包操作。注意这里使用tar工具打包,最好使用相对路径,所以先切换至/usr/local/mysql目录下,然后再打包。

[[email protected] opt]# cd /usr/local/mysql/
[[email protected] mysql]# tar Jcf /opt/mysql-$(date +%F).tar.xz data/
[[email protected] opt]# ls
mysql-2018-07-02.tar.xz  mysql-5.7.17  test.sql

2、使用mysqldump工具备份

(1)使用mysqldump命令对某些表完全备份,如下图,数据库中有test的库,里面有一张yx的表。

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

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

对test库中的yx表进行备份。

[[email protected] opt]# mysqldump -u root -p test yx > /opt/yx1.sql
Enter password:
[[email protected] opt]# ls
mysql-2018-07-02.tar.xz  mysql-5.7.17  test.sql  yx1.sql

(2)使用mysqldump命令对单个库进行完全备份

[[email protected] opt]# mysqldump -u root -p test > /opt/test.sql
Enter password:
[[email protected] opt]# ls
mysql-2018-07-02.tar.xz  mysql-5.7.17  test.sql  yx1.sql

(3)使用mysqldump命令对多个库进行完全备份

[[email protected] opt]# mysqldump -u root -p --databases test mysql > /opt/test-mysql.sql
Enter password:
[[email protected] opt]# ls
mysql-2018-07-02.tar.xz  mysql-5.7.17  test-mysql.sql  test.sql  yx1.sql

(4)使用mysqldump命令对所有数据库完全备份

[[email protected] opt]# mysqldump -u root -p --all-databases > /opt/all.sql
Enter password:
[[email protected] opt]# ls
all.sql  mysql-2018-07-02.tar.xz  mysql-5.7.17  test-mysql.sql  test.sql  yx1.sql

(5)使用mysqldump命令直接备份表结构

[[email protected] opt]# mysqldump -u root -p -d test yx > /opt/desc.sql
Enter password:
[[email protected] opt]# ls
all.sql  desc.sql  mysql-2018-07-02.tar.xz  mysql-5.7.17  test-mysql.sql  test.sql  yx1.sql

Mysql完全恢复

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

1、source命令整库恢复

上面我们已经对test库进行了备份,现在我们删除掉test库,注意在恢复库的时候,要先创建一个同名的库,然后再恢复,否则会报错。

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

mysql> drop database test;
Query OK, 1 row affected (0.01 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
mysql> create database test;
Query OK, 1 row affected (0.00 sec)
mysql> use test;
Database changed
mysql> show tables;
Empty set (0.00 sec)

mysql> use test;
Database changed
mysql> source /opt/test.sql

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

test库就恢复成功了。

2、Mysql命令整库恢复

在使用Mysql命令恢复库之前,同样要先创建已经被删除的空数据库,否则会报错,然后使用下面这条命令。

[[email protected] opt]# mysqldump -u root -p test < /opt/test.sql
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| yx             |

原文地址:http://blog.51cto.com/10693404/2135306

时间: 2024-09-29 01:53:40

Mysql完全备份和恢复的相关文章

MySQL数据库备份和恢复

目录 MySQL数据库备份和恢复 备份恢复概述 为什么要备份 备份注意要点 还原要点 备份类型: 备份时需要考虑的因素 备份什么 备份工具 冷备份 cp tar mysqldump备份工具 模拟数据库崩溃,最大限度还原数据 mysqldump的分库备份 mysqldump的MyISAM存储引擎相关的备份选项: mysqldump的InnoDB存储引擎相关的备份选项: 生产环境实战备份策略 将误删除了的某个表进行还原 MySQL数据库备份和恢复 备份恢复概述 为什么要备份 灾难恢复:硬件故障.软件

mysql之备份和恢复(msyqldump、LVM、xtrabackup)

备份类型:    根据备份时是服务器是否在线:        热备份(HOT):            读写操作不受影响        温备份(WARM):            进可以执行读操作,写操作不能执行        冷备份(COLD):            读写操作均不能进行 根据备份时对数据文件的操作:        物理备份:            直接复制数据文件.速度快,但是跨平台移植可能受到底层文件系统格式的影响.        逻辑备份:            将数据导

JSP 实现 之 调用java方法实现MySQL数据库备份和恢复

package cn.qm.db; import java.io.BufferedReader; import java.io.DataInputStream; import java.io.IOException; import java.io.InputStreamReader; public class Command { /* public static void main(String[] args) throws IOException { Command com = new Com

Linux下MySQL的备份和恢复

MySQL备份的原因  1. 灾难恢复  2. 审计   3. 测试1234512345 mysql的备份类型  1. 根据服务器的在线状态:     热备:服务器处于运行状态     冷备:服务器出去停止状态     温备:服务器处于半离线状态,只能读,但是不能写  2. 根据备份的数据集:     完全备份:备份整个数据库     部分备份:备份某个表  3. 根据备份时的接口:     物理备份:直接将数据库文件从磁盘上复制出来     逻辑备份:把数据从数据库中提取出来备份成文本文件  

mysql数据备份及恢复

mysql数据备份: 1数据备份方式: 方式分类: 物理备份:     直接拷贝库或对应的文件,文件的所有者/组必须是mysql cp -r /var/lib/mysql 目录/备份文件名 cp /var/lib/mysql/user.*  /mydata/ tar -zcvf  /mydata/mysal.tar.gz /var/lib/mysql/mysql/* 只支持myisam储存引擎的表       mysqlhotcopy  -u root -p 123456 数据库名   目录/备

MySQL数据库备份、恢复知识储备

目录 1.备份目的 2.备份类型 3.备份对象 4.备份工具 5.备份的一般操作流程 6.数据恢复的一般操作流程 7.备份工具 1.备份目的 备份的目的是为了数据还原和恢复数据,备份只是一种手段,还原和恢复才是目的.对备份的数据要做定期的恢复测试,已确保备份的可用性. 2.备份类型 备份类型可以从三个维度来说明,一是根据数据库是否需要离线来划分,二是根据备份数据的范围来划分,三是根据备份的是数据文件还是SQL语句文件来划分. 2.1.根据数据库是否需要离线来划分: a).冷备:cold back

Linux下Mysql数据库备份和恢复全攻略

很多用户都有过丢失宝贵数据的经历,随着大量的数据被存入到MySQL数据库中,再加上错误地使用DROP DATABASE命令.系统崩溃或对表结构进行编辑等操作,都可能酿成灾难性的损失.所以对MySQL数据库进行备份,以备在出现意外时及时进行恢复是非常必要的. 一. 使用mysql相关命令进行简单的本地备份     1 mysqlldump命令 mysqldump 是采用SQL级别的备份机制,它将数据表导成 SQL 脚本文件,在不同的 MySQL 版本之间升级时相对比较合适,这也是最常用的备份方法.

MySQL下备份和恢复简单介绍

为什么要备份?    由于使用MySQL时自己的一些误操作导致数据丢失或者是开发写程序时删除了不该删的数据,我们知道企业中数据是最重要的,那么此时为了数据的安全性,我们就必须的提前把数据给备份好,万一出问题时,也好挽救回来. 其实导致数据灾难的原因有很多的,举一些基本的例子:硬件故障.软件故障.自然灾害.黑客攻击.误操作等都会导致数据丢失,那么在生产环境中我们备份数据就成为了必不可少的环节了.    一般来说公司内部部署的环境一般有三种,生产环境.测试环境.开发环境.有一点很重要的是当我们把灾难

mysql的备份和恢复

今天特分享一款实用的脚本,数据库备份和恢复,对新手运维适用.互联网上什么最重要?无疑是数据.无论是程序员还是运维都不希望误操作数据丢失,或一些意想不到因素导致数据损坏或丢失.所以数据备份和恢复至关重要,也是运维的首要任务,也是标配.我们都不希望删库跑路. 一.mysql备份:1.备份脚本如下: #!/bin/bash #备份存放的路径 backup_dir="/backup/mysql/full" #备份用户 mysql_user="root" #备份密码 mysq