本文介绍mysql binlog的使用,包括开启,关闭,查看状态,刷新,清空,查看执行的sql语句等操作。并对5.7及旧版本的设置加以说明,方便大家学习。
mysql binlog 介绍
binlog就是binary log,二进制日志文件,记录了mysql所有的dml操作。
根据mysql binlog文件,我们可以查看执行了什么sql语句,进行数据恢复,主从同步复制等操作。
binlog文件对于一个数据库的处理和恢复有很重要的作用。
1.mysql binlog 开启与关闭
查看mysql binlog配置
show global 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 |+---------------------------------+-------+
binlog 当前是关闭的。
开启binlog
打开my.cnf或my.ini加入以下语句,重启mysql
log_bin=ONlog_bin_basename=/usr/local/var/mysql/mysql-binlog_bin_index=/usr/local/var/mysql/mysql-bin.index
log_bin
ON表示打开binlog日志,关闭改为OFF。
log_bin_basename
表示binlog日志的基本文件名,后面会追加标识来区分每一个文件。
log_bin_index
指定binlog文件的索引文件,这个文件管理了所有binlog文件的目录。
如果是mysql5.7以下,这样设置就可以了,如果是5.7以上,需要按以下设置
log_bin=mysql-binserver_id=123456
log_bin 表示自定义binlog文件名称。
server_id 表示随机指定一个与其他集群机器不重名的字符串,配置mysql replication需要定义,不能和canal的slaveId重复。
重启后再次查看mysql binlog配置
show global variables like '%log_bin%'; +---------------------------------+--------------------------------------+| Variable_name | Value | +---------------------------------+--------------------------------------+| log_bin | ON | | log_bin_basename | /usr/local/var/mysql/mysql-bin | | log_bin_index | /usr/local/var/mysql/mysql-bin.index | | log_bin_trust_function_creators | OFF | | log_bin_use_v1_row_events | OFF |+---------------------------------+--------------------------------------+
可以看到binlog已开启。
2.查看binlog日志文件列表
show master logs; +------------------+-----------+| Log_name | File_size | +------------------+-----------+| mysql-bin.000001 | 177 | | mysql-bin.000002 | 177 | | mysql-bin.000003 | 177 | | mysql-bin.000004 | 177 | | mysql-bin.000005 | 177 | | mysql-bin.000006 | 177 | | mysql-bin.000007 | 201 | | mysql-bin.000008 | 201 | | mysql-bin.000009 | 201 || mysql-bin.000010 | 154 | +------------------+-----------+
3.查看当前正在写入的binlog日志
show master status; +------------------+----------+--------------+------------------+-------------------+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +------------------+----------+--------------+------------------+-------------------+| mysql-bin.000010 | 154 | | | | +------------------+----------+--------------+------------------+-------------------+
4.刷新binlog日志文件
flush logs;
5.清空日志文件
reset master;
6.查看binglog日志文件内容
查看binlog日志文件,查看执行了哪些sql语句,我们可以使用mysqlbinlog工具进行处理。
首先根据log_bin_basename,找到存放binlog文件的目录,然后使用mysqlbinlog工具查看对应的binlog文件。
例如:
mysqlbinlog -v mysql-bin.000001 > mysql-bin-1.log
然后查看mysql-bin-1.log,可以查看执行过的sql语句。
BINLOG ' Xq1HWhNA4gEAPAAAAGQBAAAAAPEEAAAAAAEACXRlc3RfdXNlcgAGY3NfdGFnAAUDDwEDAwL9AgBa WZlG Xq1HWh5A4gEANwAAAJsBAAAAAPEEAAAAAAEAAgAF/+ACAAAABABjc2RuAf2LG1r9ixtaIS88ZA== '/*!*/;### INSERT INTO `test_user`.`cs_tag`### SET### @1=2### @2='csdn'### @3=1### @4=1511754749### @5=1511754749# at 411
使用mysqlbinlog时需要注意一下几点
1.不要查看当前正在写入的binlog文件,可以先把文件复制到其他目录,再执行查看。
2.不要加force参数强制访问。
3.如果binlog格式是row模式的,请加-vv参数。
本篇文章讲解了mysql binlog的使用方法,更多相关知识请关注php中文网。
相关推荐:
讲解php 基于redis使用令牌桶算法实现流量控制的相关内容
以上是讲解mysql binlog的使用方法的详细内容。更多信息请关注PHP中文网其他相关文章!

本文讨论了PHP数据对象(PDO),这是PHP中数据库访问的扩展名。它通过准备好的语句及其对MySQLI的好处,包括数据库抽象和更好的错误处理,强调了PDO在增强安全性方面的作用。

memcache和memcached是通过减少数据库负载加快Web应用程序的PHP缓存系统。可以在仔细的密钥管理的项目之间共享一个实例。

本文讨论了JavaScript和PHP如何通过HTTP请求间接相互作用,因为它们的环境不同。它涵盖了将数据从JavaScript发送到PHP的方法

文章讨论了PHP从1995年的“个人主页工具”到1998年的“ PHP:超文本预处理器”的演变,这反映了其超越个人网站的扩展使用。

防止会话固定攻击的有效方法包括:1.在用户登录后重新生成会话ID;2.使用安全的会话ID生成算法;3.实施会话超时机制;4.使用HTTPS加密会话数据,这些措施能确保应用在面对会话固定攻击时坚不可摧。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

SublimeText3汉化版
中文版,非常好用

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中