MySQL,检查并启用二进制日志

Adr*_*ert 5 mysql innodb

我在 CentOS 上运行 MySQL 5.1.47。如何检查 InnoDB 的二进制日志记录是否处于活动状态?如果未启用,如何启用二进制日志记录?赶紧跑?
mysqld --log-bin

Lad*_*ada 9

检查二进制日志是否处于活动状态:

mysql> show variables like '%bin%';
+---------------------------------+----------------------+
| Variable_name                   | Value                |
+---------------------------------+----------------------+
| binlog_cache_size               | 32768                |
| binlog_format                   | STATEMENT            |
| innodb_locks_unsafe_for_binlog  | OFF                  |
| log_bin                         | ON                   |
| log_bin_trust_function_creators | OFF                  |
| log_bin_trust_routine_creators  | OFF                  |
| max_binlog_cache_size           | 18446744073709547520 |
| max_binlog_size                 | 419430400            |
| sql_log_bin                     | ON                   |
| sync_binlog                     | 0                    |
+---------------------------------+----------------------+
10 rows in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

这里的关键部分是,log_bin ON但其他结果也可能很有趣/很重要。

您还应该在datadir命名的主机名-bin.00001 中看到一堆文件。您可以使用mysqlbinlog <filename>来查看二进制日志中的查询。

打开它, mysql> SET GLOBAL log_bin = ON;

您还需要编辑您的文件,my.cnf以便log_bin = ON下次重新启动 MySQL 时。

  • 设置 log-bin = /path/to/bin-log, (my-cnf) 也是一个不错的做法,使用另一个磁盘分区,这样如果忘记清理二进制日志,你的mysqld就会继续运行没有大问题。 (2认同)