利用mysql的二进制日志文件,mysql二进制日志文件如何打开

本文目录一览:

mysql 怎么查看mysql的二进制日志

MySQL的日志文件模块启动后才会有日志记录。

开启日志服务:

在MY.INI里,MYSQLD项下添加log-bin=mysql。

如果只对某个库进行日志文件记录,那么再添加binlog-do-db=test,这样就只记录test数据库的日志,而放弃其他的。

添加完后,重新启动MYSQL的服务,日志文件开始工作了.

查看是否启用了日志命令:mysqlshow variables like ‘log_bin’;

查看当前的日志命令:mysql show master status;

看二进制日志文件用mysqlbinlog命令:shellmysqlbinlog mail-bin.000001

如何查看mysql二进制日志目录

从概述中我可以看到my.ini配置信息的log-bin没有指定文件扩展名,这是因为即使你指定上扩展名它也不使用。当mysql创建二进制日志文件时,首先创建一个以“mysql_log_bin”为名称,以“.index”为后缀的文件;再创建一个以“mysql_log_bin”为名称,以“.000001”为后缀的文件。当mysql服务重新启动一次以“.000001”为后缀的文件会增加一个,并且后缀名加1递增;如果日志长度超过了max_binlog_size的上限(默认是1G)也会创建一个新的日志文件;使用flush logs(mysql命令符)或者执行mysqladmin –u –p flush-logs(windows命令提示符)也会创建一个新的日志文件。

既然写入的都是MySQL二进制数据,用记事本打开文件是看不到正常数据的,那怎么查看呢?

使用BIN目录下mysqlbinlog命令,如:

Binmysqlbinlog d:/mysql_log/mysql_bin.000001

Binmysqlbinlog d:/mysql_log/mysql_bin.000002

Binmysqlbinlog d:/mysql_log/mysql_bin.000003

Binmysqlbinlog d:/mysql_log/mysql_bin.000004

Binmysqlbinlog d:/mysql_log/mysql_bin.000005

使用SQL语句也可查看mysql创建的二进制的文件目录:

Mysql show master logs; 查看当前二进制文件状态:

mysql show master status;

如何通过Mysql的二进制日志恢复数据库数

创建临时数据库,把备份导入进去进行 恢复单独的数据库 ,

mysqlbinlog 有一个 –databases 参数可以指定解析出指定db相关的sql ,你可以更加这个sql来恢复数据。

能不能建立多个二进制日志文件,使每个数据库对应自己的二进制日志文件?

mysql 下 无此功能,mysqlbinlog 记录的是整个mysql 实例的变化记录,不能针对单独的db 记录日志。

希望可以帮到您,谢谢!

如何实现mysql 数据库的二进制日志回滚

mysql命令行下怎样实现数据的回滚操作

在MySQL有时执行了错误的update或者delete时导致大量数据错误恢复的办法。执行时没有开启事务,也没有对数据进行。这时就需要使用到sqlbinlog工具。

sqlbinlog需要开启,具体的打开方法就不说了。

使用sqlbinlog会产生bin文件,恢复就需要用到这些文件。文件中记录着数据库的所有操作。(此方法的操作是将数据库之前所执行的语句重新执行一次,以达到恢复效果)

具体步骤:1,先找到bin文件,一般都是在mysql的data文件夹中,结尾以.00000X等形式结束。

2,寻找需要还原的时间点 使用语句 mysqlbinlog 文件名 例(MySQLbinlog xxbin.000001)来查看内容,然后找到对应的具体时间

3,导出sql语句,使用语句 mysqlbinlog 文件名sql文件路径 例(mysqlbinlog xxxbin,00001a.sql | mysql -u root -p )

如果需要指定时间导出–start–date -stop=” –date=” 来导出指定时间执行的语句例(sqlbinlog –start-stop=’2015-11-22 10:00:00′ xxbin.000001a.sql | mysql -u root -p )这句意思是导出在2015-11-22 10点之前的语句,反之start是导出时间之后的。 start和stop可以同时使用。

如果存在多个bin文件,则按照需要导出。

4,使用mysql将导出的语句执行一次。

MYSQL备份:启用二进制日志功能的MYSQL增量备份

小量的数据库我们可以每天进行完整备份,因为这也用不了多少时间,但当数据库很大时,我们就不太可能每天进行一次完整备份了,而且改成每周一次完整备份,每天一次增量备份类似这样的备份策略。增量备份的原理就是使用了mysql的二进制日志,所以我们必须启用二进制日志功能。

一、增量备份

1、比如我们在星期天下午11点做一次完整备份:

mysqldump

–single-transaction

–flush-logs

–master-data=2

–all-databases

fullbackup_sunday_11_PM.sql

在sql文件中我们会看到两行:

Position

to

start

replication

or

point-in-time

recovery

from

CHANGE

MASTER

TO

MASTER_LOG_FILE=’bin-log.000002′,

MASTER_LOG_POS=107;

第二行包含了我们需要的信息,是指备份后所有的更改将会保存到bin-log.000002二进制文件中。

2、然后在星期一下午11点我们来做一次增量备份:

mysqladmin

flush-logs

这时将会产生一个新的二进制日志文件bin-log.000003,bin-log.000002则保存了自星期天下午11点到现在的所有更改,我们只需要把这个文件备份到安全的地方就行了。然后星期二我们又做增量备份,还是执行同样的命令,这时我们保存bin-log.000003文件。

二、恢复备份

比如星期三中午12点出现了故障,这时需要恢复,我们首先导入星期天的完整备份:

mysql

fullbackup_sunday_3_AM.sql

接着我们导入星期一和星期二的增量备份:

mysqlbinlog

bin-log.000002

bin-log.000003

mysql

这时我们已经恢复了所有备份数据,我们还可以找到bin-log.000004,进一步恢复最新的数据。

使用mysqlbinlog二进制日志文件 导出

 查看MySQL是否开启binlog(进mysql操作)

 show variables like ‘log_bin%’;

2. 查询binlog文件名

   show master status;

路径一般在安装的mysql/data 下

进入 mysqlbinlog 运行文件目录 一在mysql/bin下

执行 

 mysqlbinlog –no-defaults ../data/mysql-bin.000012 b.log

1、查询时间段内日志的执行内容

mysqlbinlog –start-datetime=’2018-01-08 02:01:00′ –stop-datetime=’2018-01-08 02:30:10′ -d test /var/lib/mysql/mysql-bin.000170 -v

2、查询时间段内日志中执行的删除语句

mysqlbinlog –start-datetime=’2018-01-08 02:01:00′ –stop-datetime=’2018-01-08 02:30:10′ -d test /var/lib/mysql/mysql-bin.000170 -v|grep DELETE -A 5

3、统计时间段内日志中执行的删除语句

mysqlbinlog –start-datetime=’2018-01-08 02:01:00′ –stop-datetime=’2018-01-08 02:30:10′ -d test /var/lib/mysql/mysql-bin.000170 -v|grep DELETE |wc -l

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/155314.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-17 02:40
下一篇 2024-11-17 02:40

相关推荐

  • 如何修改mysql的端口号

    本文将介绍如何修改mysql的端口号,方便开发者根据实际需求配置对应端口号。 一、为什么需要修改mysql端口号 默认情况下,mysql使用的端口号是3306。在某些情况下,我们需…

    编程 2025-04-29
  • vue下载无后缀名的文件被加上后缀.txt,有后缀名的文件下载正常问题的解决

    本文旨在解决vue下载无后缀名的文件被加上后缀.txt,有后缀名的文件下载正常的问题,提供完整的代码示例供参考。 一、分析问题 首先,需了解vue中下载文件的情况。一般情况下,我们…

    编程 2025-04-29
  • 如何在Java中拼接OBJ格式的文件并生成完整的图像

    OBJ格式是一种用于表示3D对象的标准格式,通常由一组顶点、面和纹理映射坐标组成。在本文中,我们将讨论如何将多个OBJ文件拼接在一起,生成一个完整的3D模型。 一、读取OBJ文件 …

    编程 2025-04-29
  • Python中读入csv文件数据的方法用法介绍

    csv是一种常见的数据格式,通常用于存储小型数据集。Python作为一种广泛流行的编程语言,内置了许多操作csv文件的库。本文将从多个方面详细介绍Python读入csv文件的方法。…

    编程 2025-04-29
  • Python程序文件的拓展

    Python是一门功能丰富、易于学习、可读性高的编程语言。Python程序文件通常以.py为文件拓展名,被广泛应用于各种领域,包括Web开发、机器学习、科学计算等。为了更好地发挥P…

    编程 2025-04-29
  • 为什么用cmd运行Java时需要在文件内打开cmd为中心

    在Java开发中,我们经常会使用cmd在命令行窗口运行程序。然而,有时候我们会发现,在运行Java程序时,需要在文件内打开cmd为中心,这让很多开发者感到疑惑,那么,为什么会出现这…

    编程 2025-04-29
  • Python zipfile解压文件乱码处理

    本文主要介绍如何在Python中使用zipfile进行文件解压的处理,同时详细讨论在解压文件时可能出现的乱码问题的各种解决办法。 一、zipfile解压文件乱码问题的根本原因 在P…

    编程 2025-04-29
  • Python将矩阵存为CSV文件

    CSV文件是一种通用的文件格式,在统计学和计算机科学中非常常见,一些数据分析工具如Microsoft Excel,Google Sheets等都支持读取CSV文件。Python内置…

    编程 2025-04-29
  • Python如何导入py文件

    Python是一种开源的高级编程语言,因其易学易用和强大的生态系统而备受青睐。Python的import语句可以帮助用户将一个模块中的代码导入到另一个模块中,从而实现代码的重用。本…

    编程 2025-04-29
  • Python合并多个相同表头文件

    对于需要合并多个相同表头文件的情况,我们可以使用Python来实现快速的合并。 一、读取CSV文件 使用Python中的csv库读取CSV文件。 import csv with o…

    编程 2025-04-29

发表回复

登录后才能评论