その他
    ホーム 技術発信 DoRuby MySQL最大バッファサイズの設定

    MySQL最大バッファサイズの設定

    この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

    こんにちはoneafter999です。

    今回はMySQLの最大バッファサイズの設定方法をご紹介します。

    はじめに

    MySQLでデータ量の大きいダンプファイルなどをリストアしようとする時、
    MySQLのメモリ割り当て量が小さいとエラーがでてしまう場合があります。
    その場合MySQLの最大バッファサイズを増やすことが必要です。

    my.cnfで設定

    /etc/my.cnfのmax_allowed_packetを任意の値に設定します。
    ※my.cnfの場所は環境によって異なる場合があります

    setコマンドで設定

    何らかの原因でmy.cnfが無い、
    または一時的にメモリ割り当てを増やしたいなどの場合は、
    MySQLコマンドのset max_allowed_packetを使うと便利です。

    MySQLにログインし、


    mysql> set global max_allowed_packet = 10484736;

    と入力します。
    この例だと大体10Mに設定されます。
    このset max_allowed_packetコマンドで設定したメモリ量は、
    次の再起動まで有効となります。

    確認

    では次にちゃんと設定が反映されているか確認してみましょう。


    mysql> show variables

    でMySQLの設定一覧が表示されます。
    その中で、
    | max_allowed_packet              | 10484736
    などのように、自分が設定した値が反映されていればOKです。