Daily Archives: May 10, 2016

MySQLのトラブルあれこれ

今日は、MySQLでトラブった一日だったので、ちょっと書いておくことにします。 とりあえずやろうとしていたのは、テーブルのcharsetとかcollationとかをutf8に揃えようとしていて、ストアドプロシジャなんか書いてlatin1に設定されているテーブルの一覧を取って、その結果にALTER TABLEを実行するというようなことをやろうとしていたわけです。で、そのストアドプロシジャは、自分のマシンではもちろんちゃんと動作していたんだけど、AWS環境である顧客のインスタンスに適用しようとしたら、エラー。 ERROR 1267 (HY000): Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation ‘=’ 色々と試して、接続パラメータやらなんやら全部utf8_unicode_ciに揃えても、なぜかダメ。で、結局このエラーの原因はよくわかっていないんだけど、その途中で、自分のマシンのMySQLをリスタートさせたりしていたら、MySQLがお亡くなりになってしまったという次第。 こちらは、有名なソケットが云々というやつ。 ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2) ググッても何やら一貫した答えがないのでも有名。前回、これに遭遇したときはMySQL再インストールのハメになったので、かなりあせりました。 で、これも色々と試して、結局は、~/.my.cnf を消して、サーバリスタートでなぜかOKになりました。 my.cnfの何が悪いのかはこれから調べますが、なにゆえに設定ファイル(ソケットの設定なんてしていないのに)がこのエラーに帰結するのか現在の私には理解不能。 それとMySQLってすごい勢いで進歩して、今は業務で使われているとは言っても、やっぱりまだまだ結構制限が多いということを認識しています。やっぱり使い方次第ということですね。

Posted in Uncategorized | Leave a comment