これらの akonadi 設定を mysql-server に適用する場所はどこですか?

これらの akonadi 設定を mysql-server に適用する場所はどこですか?

私は 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を再起動します

関連情報