mysql对数据的更新操作记录在哪个日志中?


mysql对数据的更新操作记录在通用查询日志和二进制日志中。通用查询日志用来记录用户的所有操作,包括启动和关闭 MySQL 服务、更新语句和查询语句等;二进制日志会以二进制的形式记录数据库的各种操作,但不记录查询语句。

mysql对数据的更新操作记录在哪个日志中?

(推荐教程:mysql视频教程)

日志是数据库的重要组成部分,主要用来记录数据库的运行情况、日常操作和错误信息。

MySQL通用查询日志(General Query Log)

通用查询日志(General Query Log)用来记录用户的所有操作,包括启动和关闭 MySQL 服务、更新语句和查询语句等。

默认情况下,通用查询日志功能是关闭的。可以通过以下命令查看通用查询日志是否开启,命令如下:

mysql> SHOW VARIABLES LIKE '%general%';
+------------------+----------------------------------------------------------------+
| Variable_name    | Value                                                          |
+------------------+----------------------------------------------------------------+
| general_log      | OFF                                                            |
| general_log_file | C:\ProgramData\MySQL\MySQL Server 5.7\Data\LAPTOP-UHQ6V8KP.log |
+------------------+----------------------------------------------------------------+
2 rows in set, 1 warning (0.01 sec)

从结果可以看出,通用查询日志是关闭的,general_log_file 变量指定了通用查询日志文件所在的位置。

启动和设置通用查询日志

在 MySQL 中,可以通过在 MySQL 配置文件添加 log 选项来开启通用查询日志,格式如下:

[mysqld]
log=dir/filename

其中,dir 参数指定通用查询日志的存储路径;filename 参数指定日志的文件名。如果不指定存储路径,通用查询日志将默认存储到 MySQL 数据库的数据文件夹下。如果不指定文件名,默认文件名为 hostname.log,其中 hostname 表示主机名。

查看通用查询日志

如果希望了解用户最近的操作,可以查看通用查询日志。通用查询日志以文本文件的形式存储,可以使用普通文本文件查看该类型日志内容。

例 1

首先我们查看通用查询日志功能是否是开启状态,然后查询 tb_student 表的记录,SQL 命令和执行过程如下:

mysql> SHOW VARIABLES LIKE '%general%';
+------------------+----------------------------------------------------------------+
| Variable_name    | Value                                                          |
+------------------+----------------------------------------------------------------+
| general_log      | ON                                                             |
| general_log_file | C:\ProgramData\MySQL\MySQL Server 5.7\Data\LAPTOP-UHQ6V8KP.log |
+------------------+----------------------------------------------------------------+
2 rows in set, 1 warning (0.02 sec)

mysql> use test;
Database changed
mysql> SELECT * FROM tb_student;
+----+--------+
| id | name   |
+----+--------+
|  1 | J*a   |
|  2 | MySQL  |
|  3 | Python |
+----+--------+

3 rows in set (0.06 sec)

执行成功后,打开通用查询日志,这里日志名称为 LAPTOP-UHQ6V8KP.log,下面是通用查询日志中的部分内容。

C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld.exe, Version: 5.7.29-log (MySQL Community Server (GPL)). started with:
TCP Port: 3306, Named Pipe: MySQL
Time                 Id Command    Argument
2025-05-29T06:43:44.382878Z     7 Quit
2025-05-29T06:44:10.001382Z     8 Connect root@localhost on  using SSL/TLS
2025-05-29T06:44:10.007532Z     8 Query select @@version_comment limit 1
2025-05-29T06:44:11.748179Z     8 Query SHOW VARIABLES LIKE '%general%'
2025-05-29T06:44:25.487472Z     8 Query SELECT DATABASE()
2025-05-29T06:44:25.487748Z     8 Init DB test
2025-05-29T06:44:35.390523Z     8 Query SELECT * FROM tb_student

可以看出,该日志非常清晰地记录了客户端的所有行为。

MySQL二进制日志(Binary Log)

二进制日志(Binary Log)也可叫作变更日志(Update Log),是 MySQL 中非常重要的日志。主要用于记录数据库的变化情况,即 SQL 语句的 DDL 和 DML 语句,不包含数据记录查询操作。

如果 MySQL 数据库意外停止,可以通过二进制日志文件来查看用户执行了哪些操作,对数据库服务器文件做了哪些修改,然后根据二进制日志文件中的记录来恢复数据库服务器。

默认情况下,二进制日志功能是关闭的。可以通过以下命令查看二进制日志是否开启,命令如下:

mysql> SHOW VARIABLES LIKE 'log_bin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin       | OFF   |
+---------------+-------+
1 row in set, 1 warning (0.02 sec)

从结果可以看出,二进制日志是关闭的。

启动和设置二进制日志

在 MySQL 中,可以通过在配置文件中添加 log-bin 选项来开启二进制日志,格式如下:

[mysqld]
log-bin=dir/[filename]

其中,dir 参数指定二进制文件的存储路径;filename 参数指定二进制文件的文件名,其形式为 filename.number,number 的形式为 000001、000002 等。

 4.9.8 英文版WordPress 4.9.8 英文版WordPress

WordPress是一种使用PHP语言开发的免费开源博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设自己的站点,也可以把WordPress当作一个内容管理系统(CMS)使用。 WordPress 4.9.8 英文版 更新日志:2018-08-03 修复了46处bug、改进,包括自带的2017主题;最大的亮点是「呼吁」用户使用古腾堡编辑器。

 4.9.8 英文版WordPress 130 查看详情  4.9.8 英文版WordPress

每次重启 MySQL 服务后,都会生成一个新的二进制日志文件,这些日志文件的文件名中 filename 部分不会改变,number 会不断递增。

如果没有 dir 和 filename 参数,二进制日志将默认存储在数据库的数据目录下,默认的文件名为 hostname-bin.number,其中 hostname 表示主机名。

下面在 my.ini 文件的 [mysqld] 组中添加以下语句:

log-bin

重启 MySQL 服务器后,可以在 MySQL 数据库的数据目录下看到 LAPTOP-UHQ6V8KP-bin.000001 这个文件,同时还生成了 LAPTOP-UHQ6V8KP-bin.index 文件。此处,MySQL 服务器的主机名为 LAPTOP-UHQ6V8KP。

还可以在 my.ini 文件的 [mysqld] 组中进行如下修改。语句如下:

log-bin=C:log\mylog

重启 MySQL 服务后,可以在 C:log 文件夹下看到 mylog.000001 文件和 mylog.index 文件。

查看二进制日志

1. 查看二进制日志文件列表

可以使用如下命令查看 MySQL 中有哪些二进制日志文件:

mysql> SHOW binary logs;
+----------------------------+-----------+
| Log_name                   | File_size |
+----------------------------+-----------+
| LAPTOP-UHQ6V8KP-bin.000001 |       177 |
| LAPTOP-UHQ6V8KP-bin.000002 |       154 |
+----------------------------+-----------+
2 rows in set (0.00 sec)

2. 查看当前正在写入的二进制日志文件

可以使用以下命令查看当前 MySQL 中正在写入的二进制日志文件。

mysql> SHOW master status;
+----------------------------+----------+--------------+------------------+-------------------+
| File                       | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+----------------------------+----------+--------------+------------------+-------------------+
| LAPTOP-UHQ6V8KP-bin.000002 |      154 |              |                  |                   |
+----------------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

3. 查看二进制日志文件内容

二进制日志使用二进制格式存储,不能直接打开查看。如果需要查看二进制日志,必须使用 mysqlbinlog 命令。

mysqlbinlog 命令的语法形式如下:

mysqlbinlog filename.number

mysqlbinlog 命令只在当前文件夹下查找指定的二进制日志,因此需要在二进制日志所在的目录下运行该命令,否则将会找不到指定的二进制日志文件。

例 1

下面使用 mysqlbinlog 命令,来查看 C:\log 目录下的 mylog.000001 文件,代码执行如下:

C:\Users\11645>cd C:\log
C:\log>mysqlbinlog mylog.000001
/*!50530 SET @@SESSION.PSEUDO_SL*E_MODE=1*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
# at 4
#200527  9:33:37 server id 1  end_log_pos 123 CRC32 0x69738cfd  Start: binlog v 4, server v 5.7.29-log created 200527  9:33:37 at startup
......

由于日志内容较长,这里只展示了 mylog 中的部分内容。

使用 mysqlbinlog 命令时,可以指定二进制文件的存储路径。这样可以确保 mysqlbinlog 命令可以找到二进制文件。上面例子中的命令可以变为如下形式:

mysqlbinlog C:\log\mylog.000001

这样,mysqlbinlog 命令就会到 C:\log 目录下去查找 mylog.000001 文件。如果不指定路径,mysqlbinlog 命令将在当前目录下查找 mylog.000001 文件。

除了 filename.number 文件,MySQL 还会生成一个名为 filename.index 的文件,这个文件存储着所有二进制日志文件的列表,可以用记事本打开该文件。

小技巧:实际工作中,二进制日志文件与数据库的数据文件不放在同一块硬盘上,这样即使数据文件所在的硬盘被破坏,也可以使用另一块硬盘上的二进制日志来恢复数据库文件。两块硬盘同时坏了的可能性要小得多,这样可以保证数据库中数据的安全。

更多编程相关知识,请访问:编程入门!!

以上就是mysql对数据的更新操作记录在哪个日志中?的详细内容,更多请关注其它相关文章!


# 自己的  # 水品牌的营销和推广  # 瑜伽营销运营推广文案范文  # 社群推广营销机制  # 推广游戏素材视频网站  # 布尔津营销推广运营思路  # 学会seo可以卖什么  # 购物网站平台优化方案  # 手机seo排  # 谷歌seo 独立站运营模式  # 旅游优秀网站推广方案  # mysql  # 文本文件  # 配置文件  # 重启  # 可以看出  # 目录下  # 可以使用  # 英文版  # 可以通过  # 镜像  # 日志 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: 毒蘑菇VOLUMESHADER_BM官网首页登录入口 毒蘑菇VOLUMESHADER_BM官网首页登录入口说明  谷歌浏览器怎么把网页翻译成中文_Chrome网页翻译功能使用方法  三星M34录音变声问题_Samsung M34麦克风调整  猫眼app抢票快还是小程序快  Sublime Text怎么关闭自动完成_Sublime禁用Auto Complete设置  优化Flask模板中SQLAlchemy查询迭代标签:处理字符串空格问题  猫眼电影app如何参与官方的抽奖活动_猫眼电影官方抽奖参与方法  漫蛙manwa漫画官网链接_漫蛙manwa最新可用网址推荐  mysql中如何配置字符集和排序规则_mysql字符集排序配置  PHP utf8_encode 字符编码转换疑难解析与最佳实践  J*a列表元素格式化输出教程  《七读免费小说》开通会员方法  Win11怎么开启HDR_Windows 11显示器画质增强设置  Highcharts雷达图径向轴数值标签实现教程  实现可重用自定义Python Range类  在J*a里什么是行为抽象_抽象行为对代码复用的提升作用  谷歌邮箱官方入口链接 谷歌邮箱网页版电脑端快速登录  vivo云服务一直提示空间不足怎么办 怎么办vivo云服务老是提示空间不足  使用VS Code调试Python代码:从入门到精通  使用document.execCommand实现Web文本编辑器加粗/取消加粗  极兔快递官网查询入口手机版 手机极兔快递登录查询入口官方  Win10关闭UAC用户账户控制的方法 Win10降低安全提示等级【技巧】  《磁力猫》最好用的磁官网  composer 提示 "requires ext-soap" 缺少 SOAP 扩展怎么办?  什么是Satis,如何用它搭建一个私有的composer仓库?  包子漫画在线观看入口 包子漫画网正版全集链接  windows10怎么设置电源按钮_windows10按下电源键功能修改  ToDesk远程摄像头功能使用方法_ToDesk远程视频画面查看设置教程  铁路12306座位怎么选_12306官方选座操作方法  Windows Audio服务启动失败怎么办_电脑没声音的终极服务修复法【修复】  Apple Music无故扣费引质疑  Git命令与VS Code UI操作的对应关系解析  花生壳内网映射新方案  KFC邀请码怎么使用领额外优惠_KFC邀请码输入方式与额外优惠代码获取方法  使用VS Code作为你的个人知识管理系统  支付宝登录刷脸不是本人如何解决  《优志愿》修改手机号方法  奥克斯空调不制热啥毛病_奥克斯空调不制热原因分析及解决技巧  解决Go encoding/json 将JSON大数字解析为浮点数的问题  顺丰快递收费标准查询_如何查看顺丰最新收费价格  电子白板帮助菜单使用指南  顺丰快递怎么查物流_顺丰快递物流信息实时查询操作指南  Excel如何快速合并单元格内容_Excel文本合并与函数操作技巧  中通快递官网指定查询 中通快递单号查询平台入口  汽水音乐网页端访问 汽水音乐官方网页直达  Go语言中方法与接收器:指针和值类型的调用机制详解  Golang中的rune与byte类型区别是什么_Golang字符与字节处理详解  曝《丝之歌》DLC有望开发!开发商还有神秘新企划  iSpring三分屏制作教程  食品生产用水只要符合国家规定的生活饮用水卫生标准就可以吗 

 2020-11-02

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.