前言

环境:cetos7
数据库:Mysql7.4

Mysqldump简介

  1. mysqldump 是 MySQL 自带的逻辑备份工具。
    它的备份原理是通过协议连接到 MySQL 数据库,将需要备份的数据查询出来,将查询出的数据转换成对应的insert 语句,当我们需要还原这些数据时,只要执行这些 insert 语句,即可将对应的数据还原。
  2. 语法:
    远程库: mysqldump -h 服务器 -u数据库用户名 -p数据库密码 要备份的数据库名 > 备份文件.sql
    本地库: mysqldump -u数据库用户名 -p数据库密码 要备份的数据库名 > 备份文件.sql
  3. 命令参数:
-A, --all-databases #备份所有库-B, --databases  #备份多个数据库-F, --flush-logs #备份之前刷新binlog日志-set, --default-character #指定导出数据时采用何种字符集,如果数据表不是采用默认的latin1字符集的话,那么导出时必须指定该选项,否则再次导入数据后将产生乱码问题。-d, --no-data, #不导出任何数据,只导出数据库表结构。-f, --force #即使在一个表导出期间得到一个SQL错误,继续。--lock-tables #备份前,锁定所有数据库表 #此项默认数据库是开启的,备份时默认锁表。--single-transaction # 此项解锁 ,数据库备份时不锁表,保证数据的一致性和服务的可用性 

备份数据库

1. 备份所有库
mysqldump -u数据库用户名 -p'数据库密码' -A > /opt/$(date +%F).sql # 设置备份文件名为当前系统时间2. 备份指定库
mysqldump -u数据库用户名 -p'数据库密码' -B 库名1 库名2 库名3.... > /opt/$(date +%F).sql 

恢复备份库

恢复停止binlog日志,应为这等于是在执行sql语句,无需记录日志
1. 恢复所有库
mysql -u数据库名称 -p'数据库密码'  < /备份的库文件.sql
2. 恢复指定库
步骤一.
创建一个新库,create database new; 假设创建一个new的新库。
步骤二.
mysql -u数据库名称 -p'数据库密码' new < /备份的库文件.sql

备份数据表

1. 备份指定表
mysqldump -u数据库用户名 -p'数据库密码'  库名 表名 > /备份文件.sql2. 备份多个表
mysqldump -u数据库用户名 -p'数据库密码'  库名 表名1 表名2...  > /备份文件.sql3. 只备份表结构
mysqldump -u数据库用户名 -p'数据库密码' -d 库名 表名 > /备份文件.sql4. 只导出表数据
步骤一.mysql> show variables like "secure_file_priv";  ----查询导入导出的目录,可修改。修改完要在/etc/my.cnf 里[mysqld] 追加secure_file_priv=/新的路径,然后重启。
步骤二.
登陆数据查看数据
mysql> show databases;    #找到test库
mysql> use test    #进入test库
mysql> select * from t3 into outfile '/sql/test.t3.bak'; #导出t3表的数据
步骤三.
数据的导入
mysql> delete from t3;   #先将原来表里面的数据清除掉,保证是空表,只保留表结构
mysql> load data infile '/sql/test.t3.bak' into table t3;
如果将数据导入别的表,需要创建这个表并创建相应的表结构。

恢复数据表

方法一.
mysql -u数据库用户名 -p'数据库密码'  新建一个库  < 备份的库.sql方法二.
创建一个库
create table nwe;
进入库
use nwe;
执行
mysql> source 备份的库;  -------加路径和备份的文件

通过binlog日志恢复

vim /etc/my.cnf                   #修改配置文件,开启数据库binlog日志
log-bin=/var/log/sql-bin/mylog
server-id=1[root@mysql-server ~]# mkdir /var/log/sql-bin    #创建日志目录
[root@mysql-server ~]# chown mysql.mysql /var/log/sql-bin  #给予日志目录mysql权限
[root@mysql-server ~]# systemctl restart mysqld     # 重启数据库开启日志mysql> flush logs;                          # 刷新binlog日志会截断产生新的日志文件[root@mysql-server sql-bin]# mysqlbinlog mylog.000001  #查看日志文件 at1  log_pos 20 为结束恢复 日志中at1 到log_pos 20 的操作
[root@mysql-server sql-bin]# mysqlbinlog --start-position 1 --stop-position 20 mylog.000001 | mysql -u数据库用户名 -p'数据库密码'在数据库中 binlog日志的其他操作:1.查看所有binlog日志列表
mysql> show master logs;2.查看master状态,即最后(最新)一个binlog日志的编号名称,及其最后一个操作事件pos结束点(Position)值
mysql> show master status;3.刷新log日志,自此刻开始产生一个新编号的binlog日志文件
mysql> flush logs;
注:每当mysqld服务重启时,会自动执行此命令,刷新binlog日志;在mysqldump备份数据时加 -F 选项也会刷新binlog日志;4.重置(清空)所有binlog日志
mysql> reset master;5.查询第一个(最早)的binlog日志:
mysql> show binlog events;6.指定查询 mysql-bin.000002 这个文件:
mysql> show binlog events in 'mysql-bin.000002';7.指定查询 mysql-bin.000002 这个文件,从pos点:8224开始查起:
mysql> show binlog events in 'mysql-bin.000002' from 8224;8.指定查询 mysql-bin.000002 这个文件,从pos点:8224开始查起,查询10条
mysql> show binlog events in 'mysql-bin.000002' from 8224 limit 10;9.指定查询 mysql-bin.000002 这个文件,从pos点:8224开始查起,偏移2行,查询10条
mysql> show binlog events in 'mysql-bin.000002' from 8224 limit 2,10\G;

======================================================================================================================================================================================================================================================================================================
辛苦浏览观看,如果对你有帮助,请顺手点个赞吧 (σ゚∀゚)σ…:*☆

Mysqldump逻辑备份恢复与binglog日志恢复相关推荐

  1. mysqldump逻辑备份

    目录 一.了解mysqldump工具 1.1 物理备份和逻辑备份 1.2 常用备份选项 二.mysqldump备份及恢复 2.1 备份表 2.2 备份库 2.3 恢复库 2.4 恢复表 2.5 备份表 ...

  2. SQL数据修复,SQL数据库修复,SQL数据库修复软件,SQL数据库恢复,SQL数据库日志恢复软件

    数据库修复包括以下各种情况: Ms Sql Server数据库的灾难恢复 ( 1)系统崩溃只剩下Sqlserver数据文件的情况下的恢复.即无日志文件或者日志文件损坏情况下的恢复 (2)SqlServ ...

  3. 如何最快恢复逻辑备份

    导读 作者:Nickolay Ihalainen 翻译团队:星耀队(芬达,刘莉,Ziroro) 关键词:backup,data integrity,InnoDB, MySQL logical back ...

  4. MariaDB数据库备份之逻辑备份

    在生产机器上通常是要备份数据库的,主要是防止重要数据丢失,这里就不细说为什么备份了,这篇文章是MariaDB数据库的逻辑备份 大概说一下备份方式吧 物理备份 这个方式就是拷贝物理文件备份: maria ...

  5. mysql 命令备份恢复,binlog日志, percona工具备份恢复

    物理备份:备份库和表对应系统文件 cp -r /var/lib/mysql /dbdir.bak cp -r /var/lib/mysql/mysql /dbdir.bak cp -r /var/li ...

  6. Oracle 原理:逻辑备份和恢复

    目录 一.备份和恢复 二.Oracel环境中可能发生的故障类型 三.导入导出程序 exp/imp 四.exp/imp 和数据泵的区别 一.备份和恢复 在Oracle 要有备份才能恢复.Oracle备份 ...

  7. mysql 8.0数据备份恢复_MySQL 8.0 增强逻辑备份恢复工具介绍-爱可生

    作者:杨涛涛 资深数据库专家,专研 MySQL 十余年.擅长 MySQL.PostgreSQL.MongoDB 等开源数据库相关的备份恢复.SQL 调优.监控运维.高可用架构设计等.目前任职于爱可生, ...

  8. mysql数据库的备份和二进制日志恢复

    mysql备份和bin-log日志 备份数据: mysqldimp -uroot -p  test -l -F '/tmp/test.sql' -l 读锁 -F即flush logs, 可以重新生成的 ...

  9. mysql的逻辑备份和恢复

    备份指定的数据库或此数据库中的某些表 mysqldump [options] db_name [tables] >backup.sql 备份指定的一个或多个数据库 mysqldump --dat ...

最新文章

  1. IO复用之epoll系列
  2. 关于get和post两种提交方式
  3. wkWebView 的一些问题
  4. 不同阶QAM调制星座图中,符号能量的归一化计算原理
  5. two+few+arguments+php,PHP5.5 ~ PHP7.2 新特性整理
  6. C++中STL-全排列
  7. tensorflow单变量线性回归
  8. 思科即将支持32Gbit/s Fibre Channel及NVMe over FC
  9. C语言 · 阶乘计算 · 基础练习
  10. 冲着名为Sundy的男人去麦子学院
  11. ResourceBundle
  12. ens32文件空白(没有ens33文件)
  13. 驻波比,功率计原理,短波机驻波测量
  14. 【记忆化搜索/数位DP】zznu2175(长度为n的含有ACM的字符串)
  15. linux 查看已安装软件
  16. React中文文档之State and Lifecycle
  17. [SUCTF 2019]CheckIn
  18. launch 启动脚本_使用Microsoft Speed Launch快速启动快捷方式
  19. minSdk(API 26) deviceSdk(API 17)
  20. 面试记录留给自己做纪念

热门文章

  1. 手机浏览器被黑_我的手机被黑了,这就是保护自己的方法
  2. ubuntu安装mysql5.6
  3. terra-第三节:NC格式数据处理与输出、不同时间尺度影像合成
  4. Linux用户(user)和用户组(group)的日常管理与操作
  5. 托福口语备考中需杜绝的错误
  6. 深刻解读TD-SCDMA
  7. 美元倾销才是股市泡沫化根源
  8. 把一个对象的key全部换成大写/小写
  9. SEO工具百度泛目录ping批量提交【带拨号】
  10. 《power BI视频5》筛选函数、转换函数、日期格式