5月 162013
 

mysqlのデータディレクトリを一旦移動すると、戻してもデータベースが
全くない状態になってしまった。

そういう時は、いったんMySQLデーモンを再起動します。

# /etc/init.d/mysqld restart

そうすると再びdatadirで設定されたディレクトリを読みに行き、
データベースが読み込まれます。

4月 022013
 

外部キーを持った表にレコードを挿入しようとしたら、「Cannot add or update a child row: a foreign key constraint fails」
と、でてしまった。

mysql> INSERT INTO parent(product_id,status_id,category_id,id,created_at,updated_at) VALUES('3','2','2','5','2012-04-06 21:42:38','2012-10-17 11:34:35');
ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (`tktrac/parent`, CONSTRAINT `fk_reservation_priority` FOREIGN KEY (`priority_id`) REFERENCES `priority` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION)

ググってみると、存在しない親の外部キーを挿入しようとすると出るとなっているが、ここでエラーとなっている
“priority_id”には挿入しようとはしていない。
“priority_id”にはNOT NULLはつけていないけど、外部キーは値が必須なのかと思い、
“priority_id”も挿入するように変更したらうまくいった。。

mysql> INSERT INTO parent(product_id,status_id,category_id,id,priority_id,created_at,updated_at) VALUES('3','2','2','5','1', '2012-04
-06 21:42:38','2012-10-17 11:34:35');
Query OK, 1 row affected, 2 warnings (0.01 sec)

しかし、ほかにも外部キーはあり、ほかの外部キーは挿入しなくてもエラーとならない。
よくわからないので、挿入対象のテーブルをもう一度作り直したらエラーがなくなった。
なぞ。

3月 252013
 

いきなり以下のエラーがでるようになった。

mysql> show fields from parent;
ERROR 1030 (HY000): Got error 28 from storage engine

showコマンドで発生したので、なのでなかなか気づけませんでしたが、
どうやらMySQLサーバの容量がなかったのが原因だったようです。

サーバの容量を空けたらエラーはなくなりました。