MySQLのデータリストア時のエラー

mysqldumpでセーブしたDBの内容をリストアしようとしたところ、次のエラーが出た。

ERROR 2006 (HY000) at line 224: MySQL server has gone away

調べてみたところ、データサイズが大きすぎて拒否されているらしい。my.cnfで max_allowed_packet の値を初期値の1Mから増やしてやれば解決する。mysqldumpでは初期値で16Mになっているので、合せてmysqlも16Mにしておくことにした。

ただし、portsからインストールしただけの状態では/etc/my.cnfが存在しない。/usr/local/share/mysqlの下にあるサンプル (my-*.cnf) の中から、自分のサイトに合うものを選んでコピーし、MySQLサーバを再起動。

cp /usr/local/share/mysql/my-innodb-heavy-4G.cnf /etc/my.cnf
service mysql-server restart

これでエラーは解消した。

タイトルとURLをコピーしました