
我正在使用外部 mysql 伺服器與 akonadi 一起工作。 (使用 KDE4)。現在我可以用它解決所有問題,但我仍然需要對伺服器的“mysql-global.conf”檔案應用一些設定。這就是建議的範例:
# wait 365d before dropping the DB connection (default:8h)
wait_timeout=31536000
所以我嘗試透過 mysql 控制台更改此設定。但它沒有反映在 /etc/mysql/my.cnf 檔案中的任何地方。
(etc/akonadi/mysql-global.conf 似乎對 mysql 伺服器也沒有影響!)
我的問題:在哪裡放置這些(或類似)設定以應用它們,這樣 akonadi 就不會斷開與外部伺服器的連接(我猜是全域的?)?
答案1
在 mysql 控制台中設定變數不會更新my.cnf
- 它只會在 mysql 守護程序退出之前反映出來。
/etc/mysql/my.cnf
不過,將其放在標題下方是正確的位置[mysqld]
。
它將在重新啟動後加載,或者也立即在 mysql 控制台中加載(這聽起來像您已經嘗試過的):
SET GLOBAL wait_timeout = 31536000;
更新回應「不起作用」評論:
引用自 mysql.com 文件 [1]:
當執行緒啟動時,會話 wait_timeout 值會從全域 wait_timeout 值或全域 Interactive_timeout 值初始化,取決於客戶端的類型(由 mysql_real_connect() 的 CLIENT_INTERACTIVE 連線選項定義)。
因此更改它確實有效,但您無法在 mysql 控制台會話中看到結果。嘗試更改 Interactive_timeout 。
要查看它是否生效,請SHOW GLOBAL VARIABLES
改用:
SHOW GLOBAL VARIABLES LIKE 'wait_timeout';
[1]http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_wait_timeout
答案2
1. 編輯 my.cnf(MySQL 設定檔)。
烏班圖16.04
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
德班
sudo vi /etc/mysql/my.cnf
森托斯
須藤 vi /etc/my.cnf
2. 找到超時配置並調整它以適合您的伺服器。
[mysqld] 等待超時= 31536000 互動超時= 31536000
3. 儲存變更並退出編輯器。
4. 重新啟動 MySQL 以套用更改,如下所示:
sudo /etc/init.d/mysql 重新啟動