当前位置: 首页 > news >正文

敲出来的真理-mysql备份大全,备份命令,还原命令,定时备份

  • mysqldump命令全量备份数

全量标准语句格式

mysqldump -h主机名 -P端口 -u用户名 -p密码 –database 数据库名 > 文件名.sql 

1.备份全部数据库的数据和结构

mysqldump -uroot -p123456 -A > /data/mysqlDump/mydb.sql

2.备份全部数据库的结构(加 -d 参数)

mysqldump -uroot -p123456 -A -d > /data/mysqlDump/mydb.sql

3.备份全部数据库的数据(加 -t 参数)

mysqldump -uroot -p123456 -A -t > /data/mysqlDump/mydb.sql

4.备份单个数据库的数据和结构(,数据库名mydb)

mysqldump -uroot-p123456 mydb > /data/mysqlDump/mydb.sql

5. 备份单个数据库的结构

mysqldump -uroot -p123456 mydb -d > /data/mysqlDump/mydb.sql

6. 备份单个数据库的数据

mysqldump -uroot -p123456 mydb -t > /data/mysqlDump/mydb.sql

7. 备份多个表的数据和结构(数据,结构的单独备份方法与上同)

mysqldump -uroot -p123456 mydb t1 t2 > /data/mysqlDump/mydb.sql

8. 一次备份多个数据库

mysqldump -uroot -p123456 --databases db1 db2 > /data/mysqlDump/mydb.sql

  1. 备份MySQL数据库某个(些)表

mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql

  • mysqldump命令全量还原数

在系统命令行中,输入如下实现还原:

mysql -uroot -p123456 < /data/mysqlDump/mydb.sql

  • 增量备份

增量备份的原理就是使用了mysql的binlog日志。

全量备份操作:

mysqldump -hhostname -uusername -ppassword --single-transaction  --master-data=2 databasename > backupfile.sql

运行后我们得到全量备份文件mydb.sql

—master-data

该选项将当前服务器的binlog的位置和文件名追加到输出文件中。

设置为1时:将会输出CHANGE MASTER 命令

设置为2时:输出的CHANGE MASTER命令前添加注释信息。

该选项将打开-lock-all-tables 选项,除非-single-transaction也被指定。

该选项自动关闭-lock-tables选项。

–-single-transaction

在mydb.sql文件中有注释信息:

-- CHANGE MASTER TO MASTER_LOG_FILE='bin-log.000002', MASTER_LOG_POS=107;

是指备份后所有的更改将会保存到bin-log.000002二进制文件中。

在mydb库的t_user表中增加两条记录,然后执行flush logs命令。这时将会产生一个新的二进制日志文件bin-log.000003;

bin-log.000002则保存了全备过后的所有更改;既增加记录的操作也保存在了bin-log.00002中。

再在mydb库中的t_org表中增加两条记录,然后误删除t_user表和t_org表。t_org中增加记录的操作和删除表t_org和t_user的操作都记录在bin-log.000003中。

  • 增量还原

  1. 首先导入全备数据

mysql -hhostname -uusername -ppassword databasename < backupfile.sql

2、恢复bin-log.000002

mysqlbinlog bin-log.000002 |mysql -h10.6.208.183 -utest2 -p123  -P3310  

3、恢复部分 bin-log.000003

在general_log中找到误删除的时间点,然后更加对应的时间点到bin-log.000003中找到相应的position点,需要恢复到误删除的前面一个position点。

可以用如下参数来控制binlog的区间

--start-position 开始点 --stop-position 结束点

--start-date 开始时间 --stop-date 结束时间

找到恢复点后,既可以开始恢复。

mysqlbinlog mysql-bin.000003 --stop-position=208 |mysql -h10.6.208.183 -utest2 -p123 -P3310

  • 定时备份如下

  • 安装压缩工具

下载地址:https://7-zip.org/

  • 创建备份脚本

@echo off
:start# 以时间为维度作为备份文件名的后缀
set dt=%time:~0,2%
if %dt% lss 10 set dt=%dt: =0%set file_name=%date:~0,4%%date:~5,2%%date:~8,2%%dt%%time:~3,2%# 在这里设置Mysql的安装路径;
set bin_path="D:\MySQL\MySQL Server 8.0\bin\"# 这里设置备份的存储路径
set save_path="E:\DBBAK\mysql"# 这里设置压缩软件的安装路径
set zip_path="C:\Program Files\7-Zip\7z.exe"echo 开始备份,运行时间会有点长,请耐等待
# 1234为数据库密码
%bin_path%mysqldump.exe -uroot -p1234 wisefac> %save_path%\wisefac_%file_name%.sqlecho 开始压缩,运行时间会有点长,请耐等待
%zip_path% a -tzip -p123  %save_path%\wisefac_%file_name%.zip %save_path%\wisefac_%file_name%.sqlecho 开始清理sql格式备份
echo 清理SQL格式备份文件,只保留压缩包
del %save_path%\wisefac_%file_name%.sql

http://www.lryc.cn/news/21827.html

相关文章:

  • ATTCK实战系列-红队评估(一)
  • 学python的第二天---差分
  • 数据结构入门5-2(数和二叉树)
  • 把Redis当作队列来用,到底合适吗?
  • Python学习-----项目设计1.0(设计思维和ATM环境搭建)
  • (九)python网络爬虫(理论+实战)——爬虫实战:指定关键词的百度新闻爬取
  • 数据分析面试、笔试题汇总+解析(六)
  • vue3+rust个人博客建站日记3-编写主页
  • 前端常考react面试题(持续更新中)
  • C++11多线程编程 二:多线程通信,同步,锁
  • js——原型和原型链
  • [计算机网络(第八版)]第三章 数据链路层(学习笔记)
  • void在不同场景下的意义
  • Flume简介
  • java简单学习
  • Vue2 组件基础使用、父子组件之间的传值
  • 代码随想录算法训练营 || 贪心算法 122 55 45
  • 数据结构基础之栈和队列
  • 【Spark分布式内存计算框架——Spark Streaming】3.入门案例(上)官方案例运行
  • 【博学谷学习记录】超强总结,用心分享 | 架构师 Tomcat源码学习总结
  • 泛型<E>
  • 你对MANIFEST.MF这个文件知道多少?
  • 史上最经典垃圾回收器(CMS,G1)详解、适用场景及特点、使用命令
  • Hive查询中的优化
  • 【开发规范】go项目开发中的[流程,git,代码,目录,微服务仓库管理,静态检查]
  • 数组初始化方式与decimal.InvalidOperation
  • 【Opencv-python】之入门安装
  • MySQL进阶(二)
  • 热爱所有热爱
  • Redis学习之数据删除与淘汰策略(七)