CentOS 7.4 MySQL 5.7 binlog

MySQL中update修改数据与原数据相同会再次执行吗 背景 本文主要测试MySQL执行update语句时,针对与原数据(即未修改)相同的update语句会在MySQL内部重新执行吗? 测试环境 MySQL5.7.25 Centos 7.4 binlog_format为ROW 参数 root@localhost : (none) 04:53:15> show variables like 'binlog_row_image'; +-... 阅读详情
  1. 查看系统版本
    [root@Lime-CentOS ~]# cat /etc/centos-release
    CentOS Linux release 7.4.1708 (Core) 

     

  2. 查看MySQL版本
    root@Lime-CentOS ~]# mysql --help | grep Distrib
    mysql  Ver 14.14 Distrib 5.7.32, for Linux (x86_64) using  EditLine wrapper

     

  3. 检查是否开启binlog
    mysql> show variables like '%log_bin%';
    +---------------------------------+-------+
    | Variable_name                   | Value |
    +---------------------------------+-------+
    | log_bin                         | OFF   |
    | log_bin_basename                |       |
    | log_bin_index                   |       |
    | log_bin_trust_function_creators | OFF   |
    | log_bin_use_v1_row_events       | OFF   |
    | sql_log_bin                     | ON    |
    +---------------------------------+-------+
    6 rows in set (0.00 sec)
    

     

  4. log-bin开启binlog
    [root@Lime-CentOS ~]# vim /etc/my.cnf
    
    
    [mysqld]
    # binlog config
    # 开启 Binlog 并写明存放日志的位置;默认使用的设置是“log-bin=mysql-bin”,这样日志是存放在默认的位置上的,一般是放在data目录中。
    log-bin=mysql-bin
    # 指定一个集群内的 MySQL 服务器 ID,如果做数据库集群那么必须全局唯一,一般来说不推荐 指定 server-id 等于 1。
    server-id=1
    # 设置Bin-log日志模式。
    binlog_format=ROW

     

  5. 重启MySQL服务
    root@Lime-CentOS ~]# sudo systemctl restart mysqld

     

  6. 查看有哪些binlog
    mysql> show binary logs;
    +------------------+-----------+
    | Log_name         | File_size |
    +------------------+-----------+
    | mysql-bin.000001 |       177 |
    | mysql-bin.000002 |       154 |
    +------------------+-----------+
    2 rows in set (0.00 sec)
    
    mysql> show master logs;
    +------------------+-----------+
    | Log_name         | File_size |
    +------------------+-----------+
    | mysql-bin.000001 |       177 |
    | mysql-bin.000002 |       154 |
    +------------------+-----------+
    2 rows in set (0.00 sec)
    

     

  7. 查看第一个binlog的内容
    mysql> show binlog events;
    +------------------+-----+----------------+-----------+-------------+---------------------------------------+
    | Log_name         | Pos | Event_type     | Server_id | End_log_pos | Info                                  |
    +------------------+-----+----------------+-----------+-------------+---------------------------------------+
    | mysql-bin.000001 |   4 | Format_desc    |         1 |         123 | Server ver: 5.7.32-log, Binlog ver: 4 |
    | mysql-bin.000001 | 123 | Previous_gtids |         1 |         154 |                                       |
    | mysql-bin.000001 | 154 | Stop           |         1 |         177 |                                       |
    +------------------+-----+----------------+-----------+-------------+---------------------------------------+
    3 rows in set (0.00 sec)

     

  8. 指定查看具体的binlog日志的内容
    mysql> show binlog events in 'mysql-bin.000002';
    +------------------+-----+----------------+-----------+-------------+---------------------------------------+
    | Log_name         | Pos | Event_type     | Server_id | End_log_pos | Info                                  |
    +------------------+-----+----------------+-----------+-------------+---------------------------------------+
    | mysql-bin.000002 |   4 | Format_desc    |         1 |         123 | Server ver: 5.7.32-log, Binlog ver: 4 |
    | mysql-bin.000002 | 123 | Previous_gtids |         1 |         154 |                                       |
    +------------------+-----+----------------+-----------+-------------+---------------------------------------+
    2 rows in set (0.00 sec)
    

     

  9. 查看当前正在写入的binlog日志文件
    mysql> show master status;
    +------------------+----------+--------------+------------------+-------------------+
    | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
    +------------------+----------+--------------+------------------+-------------------+
    | mysql-bin.000002 |      154 |              |                  |                   |
    +------------------+----------+--------------+------------------+-------------------+
    1 row in set (0.00 sec)

     

  10. 重新开始一个日志文件
    mysql> flush logs;
    Query OK, 0 rows affected (0.01 sec)

     

  11. 在row模式下..开启该参数,将把sql语句打印到binlog日志里面.默认是0(off);
    mysql> select @@binlog_rows_query_log_events;
    +--------------------------------+
    | @@binlog_rows_query_log_events |
    +--------------------------------+
    |                              0 |
    +--------------------------------+
    1 row in set (0.00 sec)
    
    mysql> set binlog_rows_query_log_events = 1;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> select @@binlog_rows_query_log_events;
    +--------------------------------+
    | @@binlog_rows_query_log_events |
    +--------------------------------+
    |                              1 |
    +--------------------------------+
    1 row in set (0.00 sec)
    
    

     

  12. binlog_row_image
    -- 默认为full.
    -- 在binlog为row格式下,
    -- full将记录update前后所有字段的值,
    -- minimal时,只记录更改字段的值和where字段的值,
    -- noblob时,记录除了blob和text的所有字段的值,如果update的blob或text字段,也只记录该字段更改后的值,更改前的不记录;
    select @@binlog_row_image;
    set binlog_row_image='minimal';
    

     

  13. 查看binlog_cache_use、binlog_cache_disk_use的状态
    -- 当使用事务的表存储引擎时,所有未提交(uncommitted)的二进制日志会被记录到一个缓存中去,
    -- 等该事物提交(committed)时直接将缓冲中的二进制日志写入二进制日志文件,
    -- 而该缓冲的大小由binlog_cache_size决定,默认大小为32K。此外,
    -- binlog_cache_size是基于会话(session)的,也就是说,当一个线程开始一个事务时,
    -- MySQL会自动分配一个大小为binlog_cache_size的缓存,因此该值的设置需要相当小心,
    -- 不能设置过大。当一个事务的记录大于设定的binlog_cache_size时,
    -- MySQL会把缓冲中的日志写入一个临时文件中,因此该值又不能设得太小。
    -- 通过SHOW GLOBAL STATUS 命令查看binlog_cache_use、binlog_cache_disk_use的状态,
    -- 可以判断当前binlog_cache_size的设置是否合适。
    -- binlog_cache_use记录了使用缓冲写二进制日志的次数,
    -- binlog_cache_disk_use记录了使用临时文件写二进制日志的次数。
    
    
    mysql> SHOW GLOBAL STATUS\G
    
    *************************** 3. row ***************************
    Variable_name: Binlog_cache_disk_use
            Value: 0
    *************************** 4. row ***************************
    Variable_name: Binlog_cache_use
            Value: 0
    

     

  14. 删除日志索引文件中记录的所有binlog文件,创建一个新的日志文件,起始值从000001开始
    mysql> reset master;
    Query OK, 0 rows affected (0.01 sec)
    
    

     

  15. sync_binlog = 1
  16. innodb_support_xa = 1
  17. binlog-do-db
  18. binlog-ignore-db
  19. log-slave-update
  20. mysqlbinlog
  21. 根据备份的方法
    1. 热备份
      1. MVCC
      2. ibbackup
      3. xtrabackup
      4. mysqldump --single-transaction
    2. 冷备份
      1. frm文件
      2. 共享表空间
      3. 独立表空间文件
      4. 重做日志文件
    3. 温备份
  22. 按照备份后文件的内容
    1. 逻辑备份
    2. 裸文件备份
  23. 按照备份数据库的内容
    1. 完全备份
    2. 增量备份
    3. 日志备份
  24. REDO
  25. UNDO
  26. 啦啦啦
  27. 啦啦啦
Cursor Pro订阅退款指南:从政策解读到高效申请全流程 软件即服务(SaaS)订阅模式已成为现代开发工具的主流交付方式,其核心原理是用户购买特定时间段内的服务访问权限而非永久软件所有权。这种模式的技术价值在于持续迭代更新和云端协同能力,但同时也带来了订阅管理和退款策略的复杂性。在实际工程实践中,开发者需要掌握订阅周期与退款窗口期的关键区别,理解服务访问权的技术实现边界。当AI编程工具的核心功能如代码补全、智能对话出现持续故障,或服务与宣传存在重大差异时,基于SaaS服务协议的技术性退款诉求便具备了合理性。本文围绕Cursor Pro这类深度集成AI的代码编辑器, 阅读详情

相关推荐

[Unity_Plastic SCM小技巧] 使用 UnityYAMLMerge 工具合并场景和预制件文件

首先YAMLMerge工具其实并不局限于PlasticSCM,git也可以,它是内置在Editor内的一个更加智能的版本控制工具,只不过正常不会启用,他的目录在C:\Program Files\Unity\Editor\Data\Tools\UnityYAMLMerge.exe(Unity Editor安装目录),MAC上:/Applications/Unity/Unity.app/Content...

unityofficial的博客 1142

binlog_row_image参数修改测试

binlog_row_image参数修改实践一、binlog_row_image参数解释二、场景测试 题外话 今天开发同事在测试环境用canal抽取数据时,遇到问题,度娘发现大概率是参数binlog_row_image的设置导致,于是做了相应的检查测试。 一、binlog_row_image参数解释 前提 binlog格式必须为row格式或者mixed格式,不可以是statement格式。 名称解释: before image:前镜像,即数据库表中修改前的内容。 after image:后镜像,即数据库

南风TaT的博客 2736

Unity ProBuilder(自己创建斜面、拐角)

ProBuilder基础实例

weixin_56537692的博客 1550

centeros安装mySQL,开启binlog日志

centeros安装mySQL,开启binlog日志

weixin_41463944的博客 810

高德地图 搜索和点击定位

高德地图vue

weixin_45474673的博客 1940

【ArcGIS Pro微课1000例】0065:制作千层饼多图层叠加效果

右键dem图层,点击符号系统,在右侧的符号系统窗口中,选择拉伸,勾选【显示名称】和【显示全部】,选择高程色带7。由于数据具有高程源,因此可以将数据进行三维显示。右键地面→添加高程源图层。打开ArcGIS PRo,新建一个局部场景,命名为千层饼。设置了高程源数据之后,千层饼一下子就变成了三维形状。数据默认都是在一个平面上,以默认的符号系统显示。到此为止,每个图层均为平面的千层饼已经做好了。将TIN图层的高程偏移设置为-1000。最后将等高线的高程设为2000.移除工程默认加载的图层。默认即可,不需要做修改。

智慧空间实验室 1149

Centos7.5下安装MySQL并开启binlog日志

centos7环境下安装myql5.7并开启binlog日志教程

python版服务器 1118

Dify 第 4 篇 Dify 示例:数据库执行Agent

本文介绍了如何在Dify平台创建一个能够执行SQL查询的数据库Agent。通过安装并配置"通义千问"和"数据库"两个插件,实现自然语言到SQL语句的转换和执行。关键步骤包括:1)安装插件并配置API Key;2)设置默认数据库连接(建议使用只读账号);3)准备测试数据表结构。该Agent支持通过工具调用查询表结构、转换自然语言为SQL、执行查询并返回结果,同时提供了CSV查询和HTTP API接口功能。文中还提供了MySQL测试数据表的创建脚本和示例数据。

甘蓝的专栏 1155

centos mysql log设置_在centos7下设置mysql的binlog

使用 show master logs; 查看binlog日志到这里binlog就配置好了在配置中遇到的问题。1 binlog目录的权限问题需要指定binlog所在目录拥有者是mysqlchown mysql.mysql /var/lib/mysql/binlog/设置执行权限chmod -R 755 /var/lib/mysql/binlog/2 centos7 在home文件夹下设置binl...

weixin_39806808的博客 558

基于STM32设计的老人摔倒检测报警系统【升级版】(235)

在 `235 基于STM32设计的老人摔倒检测报警系统(OneNet+MQTT)` 项目基础上增加了心率、血氧、体温测量3个功能。

1507

《MySQL 入门教程》第 03 篇 管理数据库

本篇主要介绍 MySQL 数据库的创建、查看、选择和删除操作,包括使用 mysql 命令行和 MySQL Workbench 图形工具两种方式。

Tony.Dong的专栏 3517

linux(centos7)中mysql5.7开启binlog及日志内容查看(必须配置server-id)

一、如何开启 5.7版本,直接在配置文件中指定: [mysqld] log-bin=mysql-bin server-id=1 binlog_format=ROW 二、坑 接下来是两年前写这篇博客时候的踩坑记录,不感兴趣的,可以直接跳过该部分,直接跳到第二章: 开启MySQL的binlog日志_happyfly的博客-优快云博客_mysql开启binlog 按照上面的步骤(这个教程应该是近期作者更新过了,下面踩的坑已经被修复了)操作,结果启动失败。 然后查看我这边的配置文件: [

HD243608836的博客 4699

【CUDA编程部署教程】第一章:GPU架构与CUDA编程核心 1

我们将剖析现代GPU的计算心脏——流式多处理器(SM),理解其独特的Warp执行模型,探索Tensor Core带来的革命性矩阵运算加速,并深入探讨决定性能命脉的内存体系。当必须访问全局内存时,则必须遵循**合并访问(Coalesced Access)**的原则,即让一个Warp内的32个线程访问连续的内存地址,从而让硬件将多次访问合并为一次高效的内存事务,以充分利用带宽。SM的调度器以Warp为单位分派指令,在一个Warp内,所有32个线程在同一时刻执行完全相同的指令,但处理的数据不同,这种模型被称为。

VectorShift的博客 220

Mysql 数据备份与还原

服务环境: 操作系统:centos7.4 mysql版本:5.7.17 使用工具:mysqldump mysqlbinlog 1.全备 #mkdir /databak/`date "+%Y%m%d"` #mysqldump -uroot -p --all-databases > /databak/`date "+%Y%m%d"`/alldb.sql #mysql -uroot -p < alldb.sql 2.mysqldump同时备份/还原多个库 #mysqld

Echo_Blingbling的博客 226

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

mysql未开启binlog恢复数据_MYSQL bin_log 开启及数据恢复

参考博客:A:https://www.jianshu.com/p/55b0d52edca2B:https://www.cnblogs.com/martinzhang/p/3454358.htmlC:https://www.cnblogs.com/xxoome/p/9802684.html本文基于Mysql 5.7.27,Centos7.4。1:如何开启bin_log1.1:查看是否开启bin_lo...

weixin_34160181的博客 2439

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

数据库:MySQL中update修改数据与原数据相同会再次执行吗?

牛旦教育IT课堂2019-03-22 10:18:02 原文:https://mp.weixin.qq.com/s/UWl4svHdcUIgsHnmhoysTA 作者:powdba 来源:阿里云栖社区 一、背景 本文主要测试MySQL执行update语句时,针对与原数据(即未修改)相同的update语句会在MySQL内部重新执行吗? 二、测试环境 MySQL5.7.25...

u011277123的博客 5666

MySQL 5.7 vs 8.0,哪个性能更牛?

点击上方“Java基基”,选择“设为星标”做积极的人,而不是积极废人!源码精品专栏原创 | Java 2020超神之路,很肝~中文详细注释的开源项目RPC 框架 Dubbo 源码解析...

weixin_44421461的博客 201

mysql update相同数据库_MySQL执行update语句和原数据相同会再次执行吗

背景本文主要测试MySQL执行update语句时,针对与原数据(即未修改)相同的update语句会在MySQL内部重新执行吗?测试环境MySQL5.7.25Centos 7.4binlog_format为ROW参数root@localhost : (none) 04:53:15> show variables like 'binlog_row_image';+----------------...

weixin_39806818的博客 181

MySQL中,当update修改数据与原数据相同时会再次执行吗?

点击蓝色“架构文摘”关注我哟加个“星标”,每天上午 09:25,干货推送!作者:powdbahttps://yq.aliyun.com/articles/694162一、背景本文主要测试...

架构文摘 375

mysql主主同步

mysql主主同步

qq_25096749的博客 411

mysql 5.7 tps_MySQL 5.7 vs 8.0,哪个性能更牛?

背景前提测试使用版本为mysql5.7.22和mysql8.0.15sysbench测试前先重启mysql服务,并清空os的cache(避免多次测试时命中缓存)每次进行测试都是新生成测试数据后再进行mysql5.7和mysql8.0的测试每次测试时保证mysql5.7和mysql8.0的配置参数一致环境机器cat /etc/redhat-release | xargs echo '版本 ' &am...

weixin_28979345的博客 120

canal-server、client部署

一 canal应用架构设计 组件说明: 1.linux版本(CentOS Linux 7) 2.mysql版本:5.7 3.canal版本:canal-1.1.4 4.JDK版本: 1.8 canal工作原理: 1.模拟mysql slave的交互协议,伪装自己为mysql slave,向mysql master发送dump协议; 2.mysql master收到dump请求,开始推送binary log给slave(也就是canal); 3.解析binary log对象(原始为byte流) 了解更多详细

weixin_45424711的博客 1746

MySQL中update修改数据与原数据相同会再次执行吗?

点击上方“Java后端技术”,选择“置顶或者星标”你关注的就是我关心的!作者:powdba 来源:阿里云栖社区一、背景本文主要测试MySQL执行update语句时,针对与...

Java后端技术 658
上一篇: SLF4J+LogBack实现不同级别的日志输出到不同文件
下一篇: SpringBoot - Idea - 远程Debug
limeOracle
博客等级 码龄10年 11粉丝 566原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值