Mysql

在 MySQL 8.0 中禁用二進制日誌

  • January 20, 2022

如何在 MySQL 8.0 上禁用二進制日誌記錄?

我需要導入一個大的 MySQLDump 文件,並且不想用許多 GB 的數據填充二進制日誌。過去我會設置log_bin=0my.cnf重新啟動數據庫。

但是對於 MySQL 8.0,我嘗試了各種設置,但每次我登錄數據庫並執行:

SELECT @@global.log_bin;

它不斷返回1

我試過了:

log_bin = 0
log_bin = OFF
#log_bin = 1

是否可以禁用二進制日誌?

除了指定相應的命令行參數外,您還可以添加一個選項my.cnf

  1. 編輯my.cnf和添加部分skip-log-bin[mysqld]
  2. 重新開始mysqld
  3. 享受你缺乏二進制日誌

請注意,這將一直有效,直到您從配置文件中刪除該選項。

使用設置環境命令:

systemctl set-environment MYSQLD_OPTS="--skip-log-bin=1"

接下來,使用以下命令重新載入配置文件並重新啟動伺服器:

systemctl daemon-reload
systemctl restart mysqld

接下來檢查 log_bin 全域變數的值:

mysql> SELECT * FROM performance_schema.global_variables WHERE VARIABLE_NAME IN ('log_bin');
+---------------+----------------+
| VARIABLE_NAME | VARIABLE_VALUE |
+---------------+----------------+
| log_bin       | OFF            |
+---------------+----------------+
1 row in set (0.00 sec)

引用自:https://dba.stackexchange.com/questions/226269