mysql数据库管理-mysqlbinlog备份与恢复,主备复制分析

本文主要是介绍mysql数据库管理-mysqlbinlog备份与恢复,主备复制分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

由于服务器生成的二进制日志文件以二进制格式保存,所以如果想要检查这些文件的文本格式,

就会用到mysqlbinlog日志管理工具。
mysqlbinlog的具体用法如下:
shell> mysqlbinlog [options] log-files1 log-files2. .
option有很多选项,常用的选项如下。
-d, --database=name:指定数据库名称,只列出指定的数据库相关操作。
-o, --offset=#:忽略掉日志中的前 n行命令。
-r, --result-file=name:将输出的文本格式日志输出到指定文件。
-s, --short-form:显示简单格式,省略掉一些信息。
--set-charset=char-name:在输出为文本格式时,在文件第一行加上 set names char-name,这个选项在某些情况下装载数据时非常有用。
--start-datetime=name –stop-datetime=name:指定日期间隔内的所有日志。
--start-position=# --stop-position=#:指定位置间隔内的所有日志。

1 不加任何参数的mysqlbinlog

mysqlbinlog lohost.bin.000033

2 参数的mysqlbinlog  -o

mysqlbinlog lohost.bin.000033 -o 3

3 参数的mysqlbinlog  -o -r

mysqlbinlog lohost.bin.000033 -o 3 -r /home/mysql/123.log

3 参数的mysqlbinlog  -o -r -s

mysqlbinlog lohost.bin.000033 -o 3 -s -r /home/mysql/123.log

 mysqlbinlog localhost-bin.000033 --start-datetime= '2007/08/30 05:00:00' --stop-datetime='2007/08/30 05:06:20'

mysqlbinlog localhost-bin.000033 --start-position=4 --stop-position=196

mysqlbinlog --start-position=845 --stop-position=1438 /mysql/logs/3306/binlog/21_mysql_bin.000001

mysqlbinlog -v --start-position=845 --stop-position=1438 /mysql/logs/3306/binlog/21_mysql_bin.000001

mysqlbinlog -vv --start-position=845 --stop-position=1438 /mysql/logs/3306/binlog/21_mysql_bin.000001

mysqlbinlog --base64-output=decode-rows --start-position=845 --stop-position=1438 /mysql/logs/3306/binlog/21_mysql_bin.000001

mysqlbinlog -vv --base64-output=decode-rows --start-position=845 --stop-position=1438 /mysql/logs/3306/binlog/21_mysql_bin.000001

4 mysqlbinlog恢复(xtrabackup info就是有位点的)

xtrabackup+mysqlbinlog position位点恢复。

(1)将数据恢复到故障前:
mysqlbinlog --stop-date="2005-04-20 9:59:59" /var/log/mysql/bin.123456 | mysql -u root –pmypwd
(2)跳过故障时的时间点,继续执行后面的BINLOG,完成恢复。
mysqlbinlog --start-date="2005-04-20 10:01:00" /var/log/mysql/bin.123456| mysql-u root -pmypwd 

(1)在shell下执行如下命令:
shell>mysqlbinlog --start-date="2005-04-20 9:55:00" --stop-date="2005-04-20 10:05:00"/var/log/mysql/bin.123456 > /tmp/mysql_restore.sql
该命令将在/tmp目录创建小的文本文件,编辑此文件,找到出错语句前后的位置号,例如前后位置号分别是368312和368315。
(2)恢复了以前的备份文件后,应从命令行输入下面的内容:
shell>mysqlbinlog --stop-position="368312" /var/log/mysql/bin.123456 \
| mysql -u root -pmypwd
shell>mysqlbinlog --start-position="368315" /var/log/mysql/bin.123456 \
| mysql -u root -pmypwd \

这篇关于mysql数据库管理-mysqlbinlog备份与恢复,主备复制分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1014616

相关文章

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3

mysql出现ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的解决方法

《mysql出现ERROR2003(HY000):Can‘tconnecttoMySQLserveron‘localhost‘(10061)的解决方法》本文主要介绍了mysql出现... 目录前言:第一步:第二步:第三步:总结:前言:当你想通过命令窗口想打开mysql时候发现提http://www.cpp

MySQL大表数据的分区与分库分表的实现

《MySQL大表数据的分区与分库分表的实现》数据库的分区和分库分表是两种常用的技术方案,本文主要介绍了MySQL大表数据的分区与分库分表的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. mysql大表数据的分区1.1 什么是分区?1.2 分区的类型1.3 分区的优点1.4 分

MySQL错误代码2058和2059的解决办法

《MySQL错误代码2058和2059的解决办法》:本文主要介绍MySQL错误代码2058和2059的解决办法,2058和2059的错误码核心都是你用的客户端工具和mysql版本的密码插件不匹配,... 目录1. 前置理解2.报错现象3.解决办法(敲重点!!!)1. php前置理解2058和2059的错误

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE

MySQL Workbench 安装教程(保姆级)

《MySQLWorkbench安装教程(保姆级)》MySQLWorkbench是一款强大的数据库设计和管理工具,本文主要介绍了MySQLWorkbench安装教程,文中通过图文介绍的非常详细,对大... 目录前言:详细步骤:一、检查安装的数据库版本二、在官网下载对应的mysql Workbench版本,要是

mysql数据库重置表主键id的实现

《mysql数据库重置表主键id的实现》在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,本文主要介绍了mysql数据库重置表主键id的实现,具有一定的参考价值,感兴趣的可以了... 目录关键语法演示案例在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,当我们

找不到Anaconda prompt终端的原因分析及解决方案

《找不到Anacondaprompt终端的原因分析及解决方案》因为anaconda还没有初始化,在安装anaconda的过程中,有一行是否要添加anaconda到菜单目录中,由于没有勾选,导致没有菜... 目录问题原因问http://www.chinasem.cn题解决安装了 Anaconda 却找不到 An

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用