Mysql

MySql - 在不重新啟動伺服器的情況下更改 expire_logs_days

  • August 7, 2020

我正在使用 MySql 5.5。是否可以在expire_logs_days不重新啟動伺服器的情況下進行更改並使更改生效?

在 MySQL 5.6 中,您希望首先顯示 expire_logs_days 設置的內容。然後確認主人不需要保留這些日誌超過x天數。請注意,在幾天內擁有如此短的二進制日誌可能是一個很大的風險。

全域設置為:

mysql> 顯示變數,如'expire_logs_days';
+------------------+-------+
| 變數名 | 價值 |
+------------------+-------+
| expire_logs_days | 5 |
+------------------+-------+
一組中的 1 行(0.00 秒)
mysql> 設置全域 expire_logs_days=1;
查詢正常,0 行受影響(0.62 秒)
mysql> 顯示變數,如'expire_logs_days';
+------------------+-------+
| 變數名 | 價值 |
+------------------+-------+
| expire_logs_days | 1 |
+------------------+-------+
一組中的 1 行(0.00 秒)

如果您希望此設置保留或在服務重新啟動後繼續存在,請不要忘記更新 my.cnf 文件:

$ sudo vim /etc/my.cnf
expire_logs_days = 1

然後刷新目前日誌並使二進制日誌語句對所有超過 1 天的日誌生效,在您的情況下:

mysql> 刷新二進制日誌;

謝謝@dezso

這是我如何改變它:SET GLOBAL expire_logs_days = 4;

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