MySQL完全备份与恢复

完全备份:对整个数据库的备份、数据库结构和文件结构的备份,保存的是备完成时刻的数据库,是增量备份的基础。
mysql数据库的备份可以采用两种方式,因为数据库实际上就是文件,直接打包数据库文件夹,或者是使用专用备份工具mysqldump都可以进行备份工作。

MySQL完全备份

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

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

(1)数据库文件很大,可以使用压缩率较大的xz格式压缩,默认情况下已有,如果没有需安装xz压缩格式工具。

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

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

[root@localhost mysql]# tar Jcvf /opt/mysql-$(date +%F).tar.xz /usr/local/mysql/data/
[root@localhost ~]# cd /opt/
[root@localhost opt]# ls
mysql-2018-07-02.tar.xz  rh    //备份文件//

(3)如果数据库文件损坏数据丢失,可以解压缩备份文件,相当于做了数据恢复的工作。

[root@localhost opt]# tar Jxvf /opt/mysql-2018-07-02.tar.xz /usr/local/mysql/data/
2使用mysqldump工具备份

前面介绍的对MySQL整个数据库目录压缩的方式,是备份数据库中所有的内容。使用mysqldup可以更加灵活地控制备份的内容,比如某几个表或库都可以单独备份。

(1)使用mysqldump命令对库school中的表info进行备份,备份的文件是/opt/info.sql

[root@localhost opt]# mysqldump -u root -p school info > /opt/info.sql
[root@localhost opt]# ls
info.sql  mysql-2018-07-02.tar.xz  

(2)使用mysqldump命令对单个库进行完全备份,备份文件是/opt/school.sql。

[root@localhost opt]# mysqldump -u root -p school > /opt/school.sql
Enter password:      //root登录密码//
[root@localhost opt]# ls
info.sql  mysql-2018-07-02.tar.xz  rh  school.sql

(3)使用mysqldump命令对多个库进行备份,备份文件是/opt/school-mysql.sql。

[root@localhost opt]# mysqldump -u root -p --databases school mysql > /opt/school-mysql.sql
[root@localhost opt]# ls
info.sql  mysql-2018-07-02.tar.xz  rh  school-mysql.sql  school.sql

(4)使用mysqldump命令对所有库进行完全备份,备份文件是all.sql。

[root@localhost opt]# mysqldump -u root -p --all-databases > /opt/all.sql
[root@localhost opt]# ls
all.sql  info.sql  mysql-2018-07-02.tar.xz  rh  school-mysql.sql  school.sql

(5)使用mysqldump命令也可以直接备份表结构,备份文件是/opt/desc-info.sql。

[root@localhost opt]# mysqldump -u roou -p school info > /opt/desc-info.sql
[root@localhost opt]# ls
all.sql  desc-info.sql  info.sql  mysql-2018-07-02.tar.xz  rh  school-mysql.sql  school.sql

MySQL完全恢复

1.恢复整库操作
(1)首先对库school进行备份

[root@localhost opt]# mysqldump -u root -p school > /opt/school.sql

(2)假设数据损坏,删除数据库school。

[root@localhost opt]# mysql -u root -p   //登录mysql//
Enter password:     //登录密码//
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 17
Server version: 5.7.17 Source distributionCopyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> show databases;     //查看所有库//
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| school             |
| sys                |
+--------------------+
5 rows in set (0.00 sec)mysql> drop database school;     //删除school库//
Query OK, 0 rows affected (0.00 sec)mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

(3)不登录mysql,使用mysql命令恢复库school。

此时库school已经被删除了,需要先创建再进行恢复操作,否则会报错。

[root@localhost opt]# mysql -u root -p
mysql> create database school;   //创建库//
Query OK, 1 row affected (0.00 sec)
mysql> quit   //退出//
Bye
[root@localhost opt]# mysql -u root -p school < /opt/school.sql      //恢复school库//
[root@localhost opt]# mysql -u root -p  //登录mysql数据库//
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| school             |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

2.使用source命令恢复表
(1)首先对表info进行备份

[root@localhost opt]# mysqldump -u root -p school info > /opt/info.sql

(2)假设数据损坏,删除数据库school中的表info。

mysql> use school;   //进入school库//
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changed
mysql> show tables;           //查看表//
+------------------+
| Tables_in_school |
+------------------+
| info             |
+------------------+
1 row in set (0.00 sec)mysql> select * from info;   //查看数据记录//
+----------+-------+
| name     | score |
+----------+-------+
| zhangsan | 88.00 |
| lisi     | 70.00 |
+----------+-------+
2 rows in set (0.00 sec)mysql> drop table info;    //删除info表//
Query OK, 0 rows affected (0.02 sec)mysql> show tables;
Empty set (0.00 sec)      //无表//

(3)登录mysql,使用source命令恢复表。

[root@localhost opt]# mysql -u root -p
mysql> use school;             //进入库//
mysql> source /opt/info.sql   //恢复info表//
Query OK, 0 rows affected (0.00 sec)
mysql> show tables;
+------------------+
| Tables_in_school |
+------------------+
| info             |
+------------------+
1 row in set (0.00 sec)mysql> select * from info;
+----------+-------+
| name     | score |
+----------+-------+
| zhangsan | 88.00 |
| lisi     | 70.00 |
+----------+-------+
2 rows in set (0.00 sec)

(4)也可以使用mysql进行恢复

[root@localhost opt]mysqldump -u root -p school info > /opt/school-info.sql  //备份//
[root@localhost opt]mysql -u root -p school < /opt/school-info.sql //恢复//

转载于:https://blog.51cto.com/13642258/2135312

MySQL完全备份与恢复相关推荐

  1. mysql数据备份与恢复_MySQL数据备份与恢复

    常见的MySQL管工具 mysql 命令行 跨平台 MySQL官方bundle包自带 MySQL-Workbench 图形 跨平台 MySQL官方提供 MySQL-Front 图形 Windows 开 ...

  2. MySQL数据库——备份与恢复

    文章目录 MySQL数据库--备份与恢复 一.Mysql备份概述 1.数据备份的重要性 2.备份必须重视的内容 3.备份过程中必须考虑因素 二.数据库备份的分类 1.物理备份 2.逻辑备份 3.备份方 ...

  3. mysql数据库备份与恢复,mysql多实例部署

    mysql数据库备份与恢复,mysql多实例部署 文章目录 mysql数据库备份与恢复,mysql多实例部署 1: 数据库备份 2:冷备份 3:热备份 4:mysql备份工具mysqldump 5:差 ...

  4. MySQL:备份与恢复

    目录 前言 一.MySQL日志管理 1.日志类型与作用 1.1 redo(重做日志) 1.2 undo(回滚日志) 1.3 errorlog(错误日志) 1.4 slow query log(慢查询日 ...

  5. 【MySql】Mysql之备份与恢复

    文章目录 一.mysql日志概述 1.日志类型与作用 2.日志配置文件 3.日志配置文件的查询 二.备份的类型❤ 1.物理备份 1.1 冷备份 1.2 热备份 1.3 温备份 2.逻辑备份❤ 2.1 ...

  6. MySQL 数据备份与恢复(小学生篇)

    (此篇文章是我13年学习时候的文章,比较古老了,所以称之为小学生篇)前言:MySQL 数据备份与恢复是很重要的,虽然对于 PHPer 的这方面的知识要求不高,但是也一定要会使用,不然到时候" ...

  7. 【MySQL数据备份与恢复】【安装xtrabackup 备份工具】【完全备份流程】【增量备份流程】【差异备份流程】

    [MySQL数据备份与恢复] 1.为什么要备份 备份:能够防止由于机械故障以及人为误操作带来的数据丢失,例如将数据库文件保存在了其它地方. 冗余: 数据有多份冗余,但不等备份,只能防止机械故障带来的数 ...

  8. MySQL数据库备份与恢复操作

    文章目录 前言 一.数据库备份的分类 1.1.从物理与逻辑的角度,备份可分为 1.2.从数据库的备份策略角度,备份可分为 二.MySQL完全备份与恢复 2.1.常见的备份方法 2.2.MySQL完全备 ...

  9. 【学习笔记】MySQL 数据备份与恢复

    数据备份与恢复 数据备份 系统意外崩溃或者硬件的损坏都可以导致数据库的丢失,因此MySQL管理员应该定期备份数据库,使得在意外情况发生时,尽可能减少损失. 使用MySQLdump命令备份 MySQLd ...

最新文章

  1. Java项目:医院分诊挂号住院管理系统(java+SpringBoot+FreeMarker+Mysql)
  2. linux命令作为子进程标记,Linux基础命令---显示进程ps
  3. RDIFramework.NET-.NET快速信息化系统开发整合框架 【开发实例 EasyUI】之产品管理(MVC版)...
  4. 基于java的数据结构学习——动态数组C++类模板(含拷贝构造,重载常见运算符)
  5. php搜索间隔,php – 如何查找超过2个用户的匹配时间间隔
  6. 关于 Vue.js:那些好的,不怎么样的和糟糕的
  7. 如何求matlab的in(2.0375),东南大学Matlab作业1.doc
  8. 数据太大?你该了解Hadoop分布式文件系统
  9. c#WPF 扫雷游戏
  10. 动态IP和静态IP有什么区别
  11. 用idea使用struts和hibernate来实现CRUB的操作
  12. Android studio 实现app登录注册页面
  13. 便捷开票二维码应用规范中的那些坑
  14. 计算机应用基础2207,山东省高等教育自学考试2012年4月份考试专业科目一览表
  15. 中冠百年|家庭理财投资必备资金规划有哪些
  16. SiTime硅晶振 高性能MEMS时钟方案在5G中的应用
  17. css中审核图标,一个简单实用的css loading图标
  18. 218本巴菲特、芒格及段永平推荐书籍下载 (2012-03-31 22:53:28)
  19. arduino编码器计数_ARDUINO旋转编码器
  20. C:通过三边判断三角形种类

热门文章

  1. Linux虚拟机设备无法连接到它的理想主机控制器
  2. Linux永久挂载新的硬盘
  3. 服务器开发中网络数据分析与故障排查经验
  4. [转] ROS-I simple_message 源码分析:MessageManager
  5. [BUUCTF-pwn]——wustctf2020_name_your_dog
  6. java jdbc(mysql)驱动源码分析,JAVA JDBC(MySQL)驱动源码分析(四)
  7. jre java.security_java.security.NoSuchProviderException: no suc...
  8. Java Hessian小试(转)
  9. 科目移动类型替代规则总结
  10. Python-流程控制之循环