GNU/Linux >> Linux の 問題 >  >> Linux

SET GLOBAL max_allowed_pa​​cket が機能しない

うーん..あなたはこのNOT-A-BUGにヒットしたようです。 :)

<ブロック引用>

グローバル システム変数を変更すると、その値が記憶され、サーバーが再起動するまで新しい接続に使用されます。 (グローバル システム変数の設定を永続的にするには、オプション ファイルで設定する必要があります。)変更は、そのグローバル変数にアクセスするすべてのクライアントに表示されます。ただし、変更は、変更後に接続するクライアントの対応するセッション変数にのみ影響します。グローバル変数の変更は、現在接続されているクライアントのセッション変数には影響しません (SET GLOBAL ステートメントを発行するクライアントのセッション変数にも影響しません)。

こちらも参考に。シェーン・ベスターの説明を読んでください。

max_allowed_pa​​cket 設定を有効にするには、my.ini/my.cnf ファイルから変更し、サーバーを再起動する必要があります。


実行後

set global max_allowed_packet=1000000000;

の前に mysql を再起動する必要があります
SHOW VARIABLES LIKE 'max_allowed_packet'

新しい値が表示されます。

MAC OSX システム設定を使用して mysql を再起動すると、この問題が発生し、値が変更されませんでした。コンソール経由で mysql にログインすることで

mysql -u root -p

それを変更してからmySqlを再起動するとうまくいくようです。ただし、OS X の癖だったのかもしれません。


MariaDb 構成を使用している場合、問題は ma​​x_allowed_pa​​cket 変数は、後で呼び出される構成ファイルによって上書きされます。

私の場合、データベースをインポートしようとすると、サーバーから応答がありました。

次のファイルを発見しました:

/etc/mysql/mariadb.conf.d/50-server.cnf

後で呼び出されます

/etc/mysql/conf.d/mysql.cnf

「mysql.cnf」ファイルで連続して変更しようとしましたが、「50-server.cnf」で値が上書きされました。

したがって、解決策はファイルを入力することです

/etc/mysql/mariadb.conf.d/50-server.cnf

"max_allowed_pa​​cket =16M" の代わりに 例として目的の値を入力します"max_allowed_pa​​cket =64M"


Linux
  1. Linuxで$PATH変数を設定する方法

  2. $なしの変数展開が式で機能するのはなぜですか?

  3. ubuntuで$PATH変数を永続的に設定する2つの方法

  1. MySQLソース-レプリカレプリケーションを設定する

  2. TERM 環境変数が設定されていません

  3. シンボリック リンクが機能しないのはなぜですか?

  1. Linuxで$Path変数を設定する方法

  2. Linux でスペースを使用して環境変数を設定する

  3. mysql データベースの回復 - mysql/mysqldump がテーブル <database>.<tablename> を指定します (1146)