Ryan Asked: 2011-12-15 10:48:26 +0800 CST2011-12-15 10:48:26 +0800 CST 2011-12-15 10:48:26 +0800 CST 事务日志和二进制日志有什么区别? 772 来自 SQL Server 商店,我现在使用 MySQL,我很好奇。 MySQL的二进制日志和MSSQL的事务日志有什么区别? 到目前为止,似乎每个 MySQL 实例只有一个二进制日志,而 MSSQL 中的每个数据库都有一个事务日志。 sql-server mysql 1 个回答 Voted Best Answer RolandoMySQLDBA 2011-12-15T11:43:12+08:002011-12-15T11:43:12+08:00 只回答问题的 MySQL 部分 一个二进制日志记录完成的 SQL 语句。您可以拥有许多二进制日志。在默认设置下,二进制日志以 1G 标记旋转(请参阅expire_logs_days和max_binlog_size)。 您可以通过运行以下任一命令来查看二进制日志: SHOW BINARY LOGS; SHOW MASTER LOGS; 当前的主日志始终是列表中的最后一个。要查看最后一个二进制日志,即当前日志,请运行以下命令: SHOW MASTER STATUS; 谈到 InnoDB 存储引擎和事务 有一个元数据文件(ibdata1,默认情况下保存数据页、索引页、表元数据和MVCC信息),也称为 InnoDB 表空间文件。 您可以拥有多个 ibdata 文件(请参阅innodb_data_file_path) 有重做日志(ib_logfile0 和 ib_logfile1) 您可以拥有两个以上的重做日志(请参阅innodb_log_files_in_group) 如果禁用了innodb_file_per_table,您可以将数据和索引分布在多个 ibdata 文件中 您可以将 ibdata 中的数据和索引页面分离到单独的表空间文件中(请参阅innodb_file_per_table和StackOverflow 帖子了解如何设置它)
只回答问题的 MySQL 部分
一个二进制日志记录完成的 SQL 语句。您可以拥有许多二进制日志。在默认设置下,二进制日志以 1G 标记旋转(请参阅expire_logs_days和max_binlog_size)。
您可以通过运行以下任一命令来查看二进制日志:
当前的主日志始终是列表中的最后一个。要查看最后一个二进制日志,即当前日志,请运行以下命令:
谈到 InnoDB 存储引擎和事务