
私は akonadi を使用するために外部の mysql サーバーを使用しています。(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-server にも影響を及ぼさないようです!)
質問: akonadi が外部サーバーとの接続を切断しないようにするには、これらの (または同様の) 設定をどこに配置すればよいですか (グローバルだと思いますが)?
答え1
mysql コンソールで変数を設定しても更新されませんmy.cnf
。mysql デーモンが終了するまでのみ反映されます。
/etc/mysql/my.cnf
ただし、見出しの下に置くのが正しい場所です[mysqld]
。
再起動後にロードされますが、mysql コンソールですぐに実行することもできます (これはすでに試したことのようです)。
SET GLOBAL wait_timeout = 31536000;
「動作しない」というコメントへの返信として更新:
mysql.comドキュメント[1]からの引用:
スレッドの起動時に、セッションの wait_timeout 値は、クライアントのタイプ (mysql_real_connect() の CLIENT_INTERACTIVE 接続オプションによって定義される) に応じて、グローバル wait_timeout 値またはグローバル interactive_timeout 値から初期化されます。
したがって、変更は機能しますが、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
セントス
sudo vi /etc/my.cnf
2. タイムアウト設定を見つけて、サーバーに合うように調整します。
[mysqld] 待機タイムアウト = 31536000 インタラクティブタイムアウト = 31536000
3. 変更を保存してエディターを終了します。
4. 次のようにして MySQL を再起動し、変更を適用します。
sudo /etc/init.d/mysqlを再起動します