开启mysql的binlog日志

📅 发布时间:2026/7/11 5:21:07 👁️ 浏览次数:
开启mysql的binlog日志
mysql版本5.71.查看是否开启bin_logshow global variables like’log_bin’;off的话需要先开启在mysql的文件夹目录中找到my.ini加一行log-bin“C:/ProgramData/MySQL/MySQL Server 5.7/logs/log-bin”并提前创建好目录2.数据库会把日志放进logs目录中3.查看log日志SHOW BINARY LOGS;查看log-bin.000001文件指定时间的log(要运行mysqlbinlog命令您需要在操作系统的命令行界面例如Windows的命令提示符或PowerShellLinux或macOS的终端中执行而不是在MySQL命令行客户端或任何SQL管理工具中。)mysqlbinlog --no-defaults --base64-outputdecode-rows -v --database“ezhizao_yzbh_ggy” --start-datetime“2024-12-04 11:00:00” --stop-datetime“2025-07-17 12:00:00” “log-bin.000001”C:ProgramDataMySQLMySQL Server 5.7logsmysqlbinlog --no-defaults --base64-outputdecode-rows -v --databaseezhizao_yzbh_ggy --start-datetime2024-12-04 11:10:00 --stop-datetime2025-07-17 12:00:00 log-bin.000001 /*!50530 SET SESSION.PSEUDO_SLAVE_MODE1*/; /*!50003 SET OLD_COMPLETION_TYPECOMPLETION_TYPE,COMPLETION_TYPE0*/; DELIMITER /*!*/; # at 4 #241203 16:50:52 server id 1 end_log_pos 123 CRC32 0xd1b0f8d9 Start: binlog v 4, server v 5.7.36-log created 241203 16:50:52 at startup # Warning: this binlog is either in use or was not closed properly. ROLLBACK/*!*/; # at 1247 #241204 11:11:55 server id 1 end_log_pos 1312 CRC32 0x7bbf9070 Anonymous_GTID last_committed3 sequence_number4 rbr_onlyyes /*!50718 SET TRANSACTION ISOLATION LEVEL READ COMMITTED*//*!*/; SET SESSION.GTID_NEXT ANONYMOUS/*!*/; # at 1312 #241204 11:11:55 server id 1 end_log_pos 1396 CRC32 0xd0da4e48 Query thread_id5 exec_time0 error_code0 SET TIMESTAMP1733281915/*!*/; SET session.pseudo_thread_id5/*!*/; SET session.foreign_key_checks1, session.sql_auto_is_null0, session.unique_checks1, session.autocommit1/*!*/; SET session.sql_mode1436549152/*!*/; SET session.auto_increment_increment1, session.auto_increment_offset1/*!*/; /*!C utf8mb4 *//*!*/; SET session.character_set_client45,session.collation_connection45,session.collation_server8/*!*/; SET session.lc_time_names0/*!*/; SET session.collation_databaseDEFAULT/*!*/; BEGIN /*!*/; # at 1396 #241204 11:11:55 server id 1 end_log_pos 1493 CRC32 0xaa53947b Table_map: ezhizao_yzbh_ggy.fxy_financial_voucher_template mapped to number 140 # at 1493 #241204 11:11:55 server id 1 end_log_pos 1591 CRC32 0x86714204 Update_rows: table id 140 flags: STMT_END_F ### UPDATE ezhizao_yzbh_ggy.fxy_financial_voucher_template ### WHERE ### 112 ### 212 ### 3b0 ### 41 ### 51 ### 62 ### 7222 ### SET ### 112 ### 212 ### 3b0 ### 41 ### 51 ### 6555 ### 7222 # at 1591 #241204 11:11:55 server id 1 end_log_pos 1622 CRC32 0x32e198c4 Xid 292 COMMIT/*!*/; SET SESSION.GTID_NEXT AUTOMATIC /* added by mysqlbinlog */ /*!*/; DELIMITER ; # End of log file /*!50003 SET COMPLETION_TYPEOLD_COMPLETION_TYPE*/; /*!50530 SET SESSION.PSEUDO_SLAVE_MODE0*/;整理了下常用的配置项启用二进制日志[mysqld] log_bin mysql-binlog_bin指定了二进制日志文件的前缀名称。日志文件将以这个前缀开始后跟一个数字后缀。设置日志格式[mysqld] binlog_format ROW | STATEMENT | MIXEDROW每行变化都记录在日志中。STATEMENT记录执行的SQL语句。MIXED结合ROW和STATEMENT根据情况选择最合适的模式。指定日志文件大小[mysqld] max_binlog_size 100Mmax_binlog_size指定了单个binlog文件的最大尺寸。当达到这个大小时MySQL将创建一个新的日志文件。二进制日志缓存大小[mysqld] binlog_cache_size 32Kbinlog_cache_size指定了事务日志缓存的大小用于ROW格式的binlog。二进制日志索引文件[mysqld] log_bin_index mysql-bin.indexlog_bin_index指定了二进制日志索引文件的名称该文件记录了所有当前活跃和旧的binlog文件的位置。同步二进制日志到磁盘[mysqld] binlog_sync 1binlog_sync控制何时将事务日志从缓存同步到磁盘。1表示每次事务后都同步这会降低性能但确保数据安全。二进制日志过期天数[mysqld] expire_logs_days 7expire_logs_days指定了binlog文件在被自动删除前可以保留的天数。最大二进制日志文件数量[mysqld] max_binlog_files 100max_binlog_files指定了服务器将保留的最大binlog文件数量。当超过这个数量时最旧的文件将被删除。启用GTID模式[mysqld] gtid_mode ONgtid_mode启用全局事务标识符GTID用于复制和恢复。启用自动位置同步[mysqld]log_slave_updates 1log_slave_updates 允许从服务器将复制的更新记录到自己的binlog中。