mysql binlog elk_mysql日志管理

日志类型:

一、错误日志

1.记录服务器启动和关闭过程中的信息

2.服务器运行过程中的错误信息

3.事件调度器运行一个事件时产生的信息

4.在从服务器上启动从服务器过称时产生的信息

查看错误日志的存放路径:

show variables like '%err%';

查看警告信息

show variables like 'log%';

如果log_warnings = 1 ,说明警告信息也写到了错误日志中,为0,说明没有写到错误日志中

my.ini配置信息:

#log_error = XX/mysql_log_err.txt

二、一般查询日志

general_log = on:启用

general_log_file = 指定查询日志的路径

三、慢查询日志

如果slow_query_log的值为ON,则开启了慢查询日志,否则没有开启

四、二进制日志:任何引起或可能引起数据变化的操作都会存储

功能:1.做即时点恢复(基于时间点额恢复)

2.复制(将主服务器发生的任何改变复制到从服务器上保证数据一致)

1、启用二进制日志功能:

linux下,找到mysql的配置文件,一般是/etc/my.cnf 添加下面两行

log-bin=mysql-bin

binlog_format=mixed

2、查看是否开启二进制日志:

show variables like '%bin%';

如果log_bin的值为ON,则开启了二进制日志,否则没有开启

3、查看有哪些二进制日志:

show binary logs;

4、查看正在使用的二进制日志文件:

show master status;

5、查看二进制日志文件记录的信息:

show binlog events in 'mysql-bin.00001';

6、二进制日志三种格式:

1.基于语句的statement,记录是SQL语句

2.基于行的row,记录的是SQL语句执行的结果

3.混合的mixed

7、查看二进制日志问价内容的命令:mysqlbinlog

#mysqlbinlog

--start-position    起始位置

--stop-position    结束位置

--start-datetim    起始时间

--stop-datetim    结束时间

例:# mysqlbinlog --start-position=107 mysql-bin.00002

例:# mysqlbinlog --start-position=107 --stop-position=300 mysql-bin.00002

例:# mysqlbinlog --start-datetime=‘2014-12-10 21:00:00’ --stop-datetime=‘2014-12-10 21:10:00’ mysql-bin.00002

8、每次重启服务器,日志都会滚动

flush logs    实现日志滚动,只有二进制日志,其他日志不会滚动

purge binary logs to 'mysql-bin.00002'    删除二进制日志文件

五、中继日志

从主服务器复制而来的事件,并保存为的日志文件

relay-log = 指定中继日志的位置好名字

relay-log-index = 指定中继日志名称的索引文件的位置和名字

六、事务日志

事务性存储引擎用于保证原子性、一致性、隔离性和持久性

innodb_flush_log_at_trx_commit:

0    每秒同步、并执行磁盘flush操作

1    每事务同步,并执行磁盘flush操作

2    每事务同步,但不执行磁盘flush操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GTID(Global Transaction ID)是MySQL 5.6版本引入的一种全局事务标识机制,用于在主从复制和数据恢复等场景下精确追踪事务的执行情况。在GTID模式下,每个事务都会分配一个全局唯一的ID,由GTID组成,用于标识该事务的唯一性。 在MySQL,有两种类型的GTID:基于二进制日志的GTID(gtid_binlog)和基于事务的GTID(gtid_current_pos)。其,基于二进制日志的GTID是默认启用的。它由两部分组成:server_uuid和transaction_id。其,server_uuid是MySQL实例的唯一标识符,transaction_id是一个递增的整数,用于标识每个事务。 基于GTID的数据恢复可以通过以下步骤实现: 1. 确认目标数据库的GTID模式,以及需要恢复的数据起始和结束的GTID范围。 2. 在备份服务器上创建一个与目标数据库相同的空数据库。 3. 将备份服务器上的二进制日志文件和索引文件拷贝到目标服务器上,并将它们放置在与备份服务器相同的目录下。 4. 在目标服务器上使用mysqlbinlog命令解析备份服务器上的二进制日志文件,并过滤出需要恢复的数据,生成一个SQL文件。 5. 在目标服务器上执行步骤4生成的SQL文件,恢复数据。 在执行步骤4时,可以使用mysqlbinlog命令的--start-position和--stop-position参数指定需要恢复的二进制日志文件的起始和结束位置,也可以使用--start-datetime和--stop-datetime参数指定需要恢复的时间范围。 需要注意的是,在基于GTID的数据恢复,必须确保目标服务器和备份服务器的server_uuid相同,否则会导致GTID不一致,无法进行数据恢复。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值