第五篇:Mysql的数据备份与恢复---------
一 ,数据备份与恢复
步骤一:使用mysqldump进行逻辑备份
1)备份MySQL服务器上的所有库
将所有的库备份为mysql-all.sql文件:
- [root@dbsvr1 ~]# mysqldump -u root -p --all-databases > /root/alldb.sql
- Enter password: //验证口令
- [root@dbsvr1 mysql]# file /root/alldb.sql //确认备份文件类型
查看备份文件alldb.sql的部分内容:
# grep -vE '^/|^-|^$' /root/alldb.sql | head -20
2)只备份指定的某一个库
将userdb库备份为userdb.sql文件:
- [root@dbsvr1 ~]# # mysqldump -u root -p jingcaiwang > jingcaiwang.sql
- Enter password: //验证口令
查看备份文件userdb.sql的部分内容:
3)同时备份指定的多个库
同时备份mysql、userdb库,保存为mysql+userdb.sql文件:
- [root@dbsvr1 ~]# mysqldump -u root -p -B mysql userdb > mysql+test+userdb.sql
- Enter password: //验证口令
查看备份文件userdb.sql的部分内容:
- [root@dbsvr1 ~]# grep '^CREATE DATA' /root/mysql+userdb.sql
步骤二:使用mysql命令从备份中恢复数据库、表
以恢复userdb库为例,可参考下列操作。通常不建议直接覆盖旧库,而是采用建立新库并导入逻辑备份的方式执行恢复,待新库正常后即可废弃或删除旧库。
1)创建名为userdb2的新库
mysql> create database userdb2;
2)导入备份文件,在新库中重建表及数据
- [root@dbsvr1 ~]# mysql -u root -p userdb2 < /root/userdb.sql
- Enter password: //验证口令
eg:
# mysql -uroot -p jingcaiwang < /root/jingcaiwang-v2.sql //使用备份数据导入
3)确认新库正常,启用新库
- mysql> USE userdb2; //切换到新库
- mysql> show tables;
4)废弃或删除旧库
- mysql> DROP DATABASE userdb;
-----------------------------------------------------------------------------------------------------------
二 ,使用binlog日志
步骤一:启用binlog日志
1)调整/etc/my.cnf配置,并重启服务
- [root@dbsvr1 ~]# vim /etc/my.cnf
- [mysqld]
- .. ..
- log-bin-index=mysql-bin //启用二进制日志,并指定前缀
- server_id=1
- binlog_format=STATEMENT
- //在Mysql5.7中,binlog日志格式默认为ROW,但它不记录sql语句上下文相关信息。需要将binlog日志格式修改为STATEMENT
- .. ..
- [root@dbsvr1 ~]# systemctl restart mysqld.service
2)确认binlog日志文件
新启用binlog后,每次启动MySQl服务都会新生成一份日志文件:
- [root@dbsvr1 ~]# ls /var/lib/mysql/mysql-bin.*
- /var/lib/mysql/mysql-bin.000001 /var/lib/mysql/mysql-bin.index
步骤二:利用binlog日志重做数据库操作
1)执行数据库表添加操作
创建db1·库tb1表,表结构自定义:
- mysql> CREATE DATABASE db1;
- mysql> USE db1;
- Database changed
- mysql> CREATE TABLE tb1(
- -> id int(4) NOT NULL,name varchar(24)
- -> );
步骤三:通过binlog日志恢复表记录
binlog会记录所有的数据库、表更改操作,所以可在必要的时候重新执行以前做过的一部分数据操作,但对于启用binlog之前已经存在的库、表数据将不适用。
根据上述“恢复被删除的3条表记录”的需求,应通过mysqlbinlog工具查看相关日志文件,找到删除这些表记录的时间点,只要恢复此前的SQL操作(主要是插入那3条记录的操作)即可。
1)查看mysql-bin.000002日志内容
2) 执行指定Pos节点范围内的sql命令恢复数据
根据上述日志分析,只要恢复从2014.01.12 20:12:14到2014.01.12 20:13:50之间的操作即可。可通过mysqlbinlog指定时间范围输出,结合管道交给msyql命令执行导入重做:
- [root@dbsvr1 ~]# mysqlbinlog \
- --start-datetime="2017-04-12 12:06:55" \
- --stop-datetime="2017-04-12 12:07:23" \
- /var/lib/mysql/mysql-bin.000002 | mysql -u root -p
- Enter password: //验证口令
第五篇:Mysql的数据备份与恢复---------相关推荐
- emq与mysql_EMQ X 插件持久化系列 (五)MySQL MQTT 数据存储
本文以在 CentOS 7.2 中的实际例子来说明如何通过 MySQL 来存储相关的 MQTT 数据. MySQL 属于传统的关系型数据库产品,其开放式的架构使得用户的选择性很强,而且随着技术的逐渐成 ...
- EMQ X 插件持久化系列 (五)MySQL MQTT 数据存储
本文以在 CentOS 7.2 中的实际例子来说明如何通过 MySQL 来存储相关的 MQTT 数据. MySQL 属于传统的关系型数据库产品,其开放式的架构使得用户的选择性很强,而且随着技术的逐渐成 ...
- MySQL 的数据备份与恢复
数据的备份 导出数据库 打开Admin,具体参考数据库系统概论实验 进入web界面,按照步骤进行导出,会得到st.sql的文件.(st.sql只是示例,具体以导出文件名为准) 数据的恢复 具体名称以文 ...
- 五、MySQL之数据操作语言
- MySQL数据库,从入门到精通:第十四篇——MySQL视图详解
MySQL数据库,从入门到精通:第十四篇--MySQL视图详解 第 14 篇_视图 1. 常见的数据库对象 2. 视图概述 2. 1 为什么使用视图? 2. 2 视图的理解 3. 创建视图 3. 1 ...
- MySQL数据库,从入门到精通:第十二篇——MySQL数据类型详解
MySQL数据库,从入门到精通:第十二篇--MySQL数据类型详解 第 12 章_MySQL数据类型精讲 1. MySQL中的数据类型 2. 整数类型 2. 1 类型介绍 2. 2 可选属性 2. 2 ...
- 焱老师带你学习MYSQL系列 第二篇 (MYSQL 数据结构)
相关系列链接 焱老师带你学习MYSQL系列 第六篇 (MYSQL是如何实现锁的) 焱老师带你学习MYSQL系列 第五篇 (MYSQL事务隔离级别是如何实现的) 焱老师带你学习MYSQL系列 第四篇 ( ...
- MySQL数据库,从入门到精通:第七篇——MySQL单行函数应用
MySQL数据库,从入门到精通:第七篇--MySQL单行函数应用 第七篇_单行函数 1. 函数的理解 1.1 什么是函数 1.2 不同DBMS函数的差异 2. 数值函数 2.1 基本函数 2.3 三角 ...
- MySQL数据库,从入门到精通:第四篇——MySQL中常用的运算符及其用法
MySQl学习(MySQL数据库,从入门到精通:第四篇--MySQL中常用的运算符及其用法 第四篇_MySQL中常用的运算符及其用法运算符 1. 算术运算符 1.加法与减法运算符 2.乘法与除法运算符 ...
最新文章
- RNA-seq需要多长的读长?
- Oracle 11.2 安装Oracle 11.1的HR schoma
- plex实现流媒体服务器_如何从Plex Media Server离线查看下载和同步媒体
- MySQL查询结果纵向输出标识符\G
- 《我也能做CTO之.程序员职业规划》 水准之上,期望以下
- insert和update 锁等待_黑龙F5智感双全智能锁全球首发,掀起惊艳风潮
- java实现删除指定指定目录下面指定某种类型的文件
- [ckeditor系列]CKeditor自定义上传图片功能
- android编译log中_安卓编译 Jack server 错误问题解决办法
- 高乐计算机课程,长春理工大学
- Vue3.0 项目启动(打造企业级音乐App)
- js中的DOM事件之冒泡和捕获事件详解
- html5 css3 树形菜单,HTML5/CSS3卷边菜单效果
- 在线购物系统 分析类或问题域类图
- 小红书流量红利词「0基础」实操手册
- Markdown 编辑器设置字体大小颜色
- 计算机科学与技术以为舟,于哲舟-吉林大学计算机科学与技术学院
- 2.4 随机变量函数的分布
- VSCode调试leetcode的cpp以及c语言(windows)
- 用户在Eightcap易汇平台可以交易哪些产品?投资选择多吗?
热门文章
- 不管工作压力太大了,还是工作压力太小了;都容易引起开发人员的辞职风波...
- 普通用户程序使用保留端口 error while loading shared libraries
- 使用electron-vue搭建桌面应用程序项目
- Python3 实现用户登陆,输入三次密码
- CCF - 201509-2 - 日期计算
- 判断点是否在一个任意多边形中
- MS Reporting Services 报表开发
- Linux中.a,.la,.o,.so文件的意义和编程实现
- 将键值对当作实参传进函数
- 浅析Codewarrior、IAR和Keil MDK三大开发环境优缺点