この記事はアピリッツの技術ブログ「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です。