max_allowed_packet
MySQL で のデフォルト値を を使用して変更する方法を見つけましたSET GLOBAL
。しかし、このコマンドを使用するたびに、デフォルト値は変更されませんでした。私は次のコマンドを使用しました:
mysql --user=root --password=mypass
mysql> SET GLOBAL max_allowed_packet=32*1024*1024;
Query OK, 0 rows affected (0.00 secs)
mysql> SHOW VARIABLES max_allowed_packet;
結果は max_allowed_packet = 1048576 です。何が足りないのでしょうか?
ベストアンサー1
うーん...これに当たったバグではないそうみたいです。 :)
グローバル システム変数を変更すると、その値は記憶され、サーバーが再起動するまで新しい接続に使用されます。(グローバル システム変数の設定を永続的にするには、オプション ファイルで設定する必要があります。) 変更は、そのグローバル変数にアクセスするすべてのクライアントに表示されます。ただし、変更は、変更後に接続するクライアントの対応するセッション変数にのみ影響します。グローバル変数の変更は、現在接続しているクライアントのセッション変数には影響しません (SET GLOBAL ステートメントを発行するクライアントのセッション変数にも影響しません)。
参照するこれ同じく。Shane Bester の説明を読んでください。
max_allowed_packet 設定を有効にするには、my.ini/my.cnf ファイルから変更し、サーバーを再起動する必要があります。