Mysql数据安全备份
数据安全备份的意义
- 在出现意外的时候(硬盘损坏、断点、黑客攻击),以便数据的恢复
- 导出生产的数据以便研发人员或者测试人员测试学习
- 高权限的人员那操作失误导致数据丢失,以便恢复
备份类型
- 完全备份:对整个数据库的备份
- 部分备份:对数据进行部分备份(一张或多张表)
- 增量备份:是以上一次备份为基础来备份变更数据
- 差异备份:是以第一次完全备份为基础来备份变更数据

备份方式
- 逻辑备份:直接生成sql语句,在恢复数据的时候执行sql语句
- 物理备份:复制相关库文件,进行数据备份(my.cnf指向的数据存放目录)
区别
- 逻辑备份效率低,恢复数据效率低,节约空间
- 物理备份浪费空间,备份数据效率快
备份场景
- 热备份:备份时,不影响数据库的读写操作
- 温备份:备份时,可以读,不能写
- 冷备份:备份时,关闭mysql服务,不能进行任何读写操作
Mysqldump备份(跨机器)
单库语法
备份基础语法:
mysqldump -u用户 -hip -p密码 数据库名 表名 | 压缩方式 > 绝对路径+文件名
跨机器备份
跨机器备份: 备份描述:mac本上安装了mysql数据库(172.20.10.2),使用自搭Linux(172.20.10.4)机器上的mysql备份mac本上的nba库,并使用压缩文件方式,备份至:/mysql_data_back下
来到linux的mysql安装目录(172.20.10.4):
创建目录:mkdir /mysql_data_back
切换:cd /usr/local/mysql/bin
备份:./mysqldump -uroot -proot -h172.20.10.2 nba | gzip > /mysql_data_back/nba.sql.gz

本机备份
本机备份: 备份描述:linux(自搭),备份本就上的db1库,并使用压缩方式,备份至:/mysql_data_back下
备份:./mysqldump -uroot -proot db1 | gzip > /mysql_data_back/db1.sql.gz

备份库中的某张表
语法:./mysqldump -uroot -proot -h172.20.10.2 nba | gzip > /mysql_data_back/nba.sql.gz 备份描述:在Linux(自搭,172.20.10.4)上,远程备份mac本(172.20.10.2)nba(库)的nba_player(表)
在原来的基础上,nba(库名) 在追加表名即可
./mysqldump -uroot -proot -h172.20.10.2 nba nba_player | gzip > /mysql_data_back/nba-nba_player.sql.gz

备份多库
语法:./mysqldump -u用户 -p密码 --databases 库1 库2 | gzip > 绝对路径+文件名
备份描述:备份本机的:db1、db2两个库
备份:./mysqldump -uroot -proot --databases db1 db2 | gzip > /mysql_data_back/db1-db2.sql.gz

注意
只备份表结构,数据没备份!
备份全库
描述:如果远程服务器上数据库较多的话,可以使用全库备份
语法:
./mysqldump -uroot -proot -all --databases | gzip > /mysql_data_back/all.sql.gz
Mysql数据的恢复
备份的数据,不加--databases是没有创建库语句的!
先备份数据:
./mysqldump -uroot -proot --databases db1 | gzip > /mysql_data_back/db1.sql.gz 删除库:
drop database db1; 还原数据:
2、解压gz文件:gunzip -d db1.sql.gz
1、登录数据库:mysql -uroot -proot -h 127.0.0.1 < /mysql_data_back/db1.sql


也可以指定数据库后,在恢复数据
语法:
mysql -u用户 -p密码 -h ip地址 数据库 < 绝对路径+文件名
示例:mysql -uroot -proot -h 127.0.0.1 issdb_1 < /mysql_data_back/issdb_1.sql
查看Mysql数据库源文件
方式一
登录mysql:mysql -uroot -proot
查看:show variables like 'datadir%';
===========================
mysql> show variables like 'datadir%';
+---------------+------------------------+
| Variable_name | Value |
+---------------+------------------------+
| datadir | /usr/local/mysql/data/ |
+---------------+------------------------+
1 row in set (0.01 sec)
方式二
直接查看my.cnf文件即可

Mysql数据安全备份的更多相关文章
- mysql数据安全之利用二进制日志mysqlbinlog备份数据
mysql数据安全之利用二进制日志mysqlbinlog备份数据 简介:如何利用二进制日志来备份数据 什么是二进制日志: 二进制日志就是记录着mysql数据库中的一些写入性操作,比如一些增删改,但是, ...
- mysql数据安全一之数据恢复案例
mysql数据安全一之数据恢复案例 --chenjianwen 应用场景:适宜开启binlog 日志功能,定时备份并使用--master-data参数备份,在某个时间点丢失数据,用于数据恢复 开篇总结 ...
- mysql数据安全之利用二进制日志mysqlbinlog恢复数据
mysql数据安全之利用二进制日志mysqlbinlog恢复数据 简介:如何利用二进制日志来恢复数据 查看二进制日志文件的内容报错: [root@xdclass-public log_bin]# my ...
- Xtrabackup原理及使用innobackupex进行MySQL数据库备份恢复
Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具. Xtrabackup中主要包含两个工 ...
- TODO:MongoDB MySQL数据库备份
TODO:MongoDB MySQL数据库备份 1. MongoDB使用命令备份 mongodump进行整个数据库备份,主要用到的命令参数: -d 要备份的数据库 -o 输出的路径 ./mongodu ...
- Java实现MySQL数据库备份(二)
权声明:本文为博主原创文章,未经博主允许不得转载. 博客<Java实现MySQL数据库备份(一)>使用I/O流的方式实现了MySQL数据库的备份,这种方法比较繁杂,下面介绍另一种备份MyS ...
- Java实现MySQL数据库备份(一)
下班了,利用闲暇时间总结一下如何使用Java语言实现MySQL数据库备份: import java.io.BufferedReader; import java.io.File; import jav ...
- mysql 自动备份和nginx自动安装脚本
一.自动备份Mysql脚本: 如下脚本为mysql自动备份脚本,仅供参考,可以根据实际情况修改. #!/bin/sh #auto backup mysql #wugk #Define PATH定义变量 ...
- MySQL 数据备份与还原
一.数据备份 1.使用mysqldump命令备份 mysqldump命令将数据库中的数据备份成一个文本文件.表的结构和表中的数据将存储在生成的文本文件中. mysqldump命令的工作原理很简单.它先 ...
随机推荐
- Python字典的初识、增删改查及嵌套
为什么要有字典? 列表可以存储大量的数据,但数据间的关联型不强 列表的查询速度相对慢 dict:字典,容器型数据类型 数据类型的分类: 可变与不可变 可变(不可哈希)的数据类型: 列表list,字典d ...
- C++学习---单链表的构建及操作
#include <iostream> using namespace std; typedef struct LinkNode { int elem;//节点中的数据 struct Li ...
- 全宇宙首个.NET5+Vue.js前后端分离以及业务模块化快速开发框架【NetModular】发布~
最近.Net圈子很热闹啊,我也来凑凑,今天中午耗时长达半小时,把NetModular升级到了.NET5,详情查看分支https://github.com/iamoldli/NetModular/tre ...
- VMware Workstatition启动虚拟机电脑蓝屏
电脑出了点问题,重装了系统,结果安装VMware之后,一启动虚拟机电脑就蓝屏重启. 系统是win10 19041 开始用的原来下载的vmware15.0,创建虚拟机蓝屏,重启之后可以创建.创建完以后启 ...
- H5页面字体设置
H5页面不支持 MicrosoftYaHei(微软雅黑)别傻傻的设置微软雅黑字体了 如果一定要微软雅黑操作如下 @font-face 定义为微软雅黑字体并存放到 web 服务器上,在需要使用时被自动下 ...
- Java中的微信支付(1):API V3版本签名详解
1. 前言 最近在折腾微信支付,证书还是比较烦人的,所以有必要分享一些经验,减少你在开发微信支付时的踩坑.目前微信支付的API已经发展到V3版本,采用了流行的Restful风格. 今天来分享微信支付的 ...
- 关于天线长度及LC值的计算
一.天线长度与波长 1.天线最佳长度计算 理论和实践证明,当天线的长度为无线电信号波长的1/4时,天线的发射和接收转换效率最高.因此,天线的长度将根据所发射和接收信号的频率即波长来决定.只要知道对应发 ...
- E. Tree Queries 解析(思維、LCA)
Codeforce 1328 E. Tree Queries 解析(思維.LCA) 今天我們來看看CF1328E 題目連結 題目 給你一棵樹,並且給你\(m\le2e5\)個詢問(包含\(k\)個點) ...
- 三年工作经验,从小厂离职后,我凭什么拿到了阿里的offer
本篇文章主要记录分享我的面试准备过程. 很多朋友问我为什么离职 关于离职原因,马云有一句经典的话"要么钱没给到位,要么心委屈了",想必大家耳熟能详了,我这里再细说一下我个人离职原因 ...
- STM32移植FreeRTOS(1)
"STM32F103VET6<_>FreeRTOS" 1.项目功能实现 1)LED灯定时闪烁 2)KEY按键检测 3)FreeRTOS任务创建 4)串口输出程序运行状态 ...