旅するえんじにあ - Engineers to Travel -

旅するエンジニアの気まま備忘録

【MySQL】 createしようとしたらエラー Can't create table

最近は作るだけの仕事をしていたり、前に作った資産についての質問がきたりで 特に新しい事ができていません。 pull型のDeploy等の仕組みを作ったりしてたのですが、それは今後書いていきます。

さて、今のProjectではMigrationにstandalone-migrationsを使っているのですが それもPHP製のPhinxに変えたいなぁと思いつつ。

そんな中テストデータを何度も入れたり消したりするのにmigrationを繰り返していた時 Can't create table と言われ、急にmigrationができなくなってしまいました。

実際には

 Can't create database 'hoge_database' (errno: 28): CREATE DATABASE `hoge_database` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_general_ci`

みたいな感じです。

手前の作業でpull型のDeployについていろいろやってはいたのですが migrationとは関係ないことをしていたくらいで原因がよくわかりませんでしたが 調べてみると容量が原因でした。

dfコマンドで確認してみると

[root@localhost migrations]# df
Filesystem           1K-blocks     Used Available Use% Mounted on
/dev/mapper/VolGroup-lv_root
                      51475068 48902376         0 100% /
tmpfs                   961152        0    961152   0% /dev/shm
/dev/sda1               487652    57576    404476  13% /boot
/dev/mapper/VolGroup-lv_home
                     249210780   235868 236309056   1% /home

まぁ容量がないわけで。 結局原因は色々な調査をするのにMysql側で設定したquery logと 色んなソースをチェックしていた各Projectの.git/object/packでした。

Totalで40G近くを食いつぶしてたわけで。 ログと不要なソースを削除することによってmigrationができるようになりました。

面倒くさがってlogrotateしてなかったのが原因ですね。

あと、virtual box 自体の容量が少し少なすぎました。 単一Projectなら問題ないだろうと思ってたのですが、複数ものProjectに色んなツールを使って検証をしていたので そこも原因ですね。

virtualboxの容量拡張とlogrotateでも書いていこうかと思います。