2011年05月01日

MySQL 5.5.11

database/mysql55-server で少しはまった話。よく考えたら、今回はいきなり自宅のWebサーバーのデータベースを更新してしまっていたのだった、うかつ。問題は2つでpkgsrcでインストールした、しないというところから来る問題ではなさそうである。
  1. mysqldが起動しない。
  2. mysqldにつながらない。
1つめの問題は、
COLLATION 'latin1_swedish_ci' is not valid for CHARACTER SET 'utf8'
とかエラーのログを残してmysqldが起動しない問題。latin1_swedish_ciって、どっから来たのかが謎だが、同じ問題はこちらでも触れられている。ただ、こちらではmysql_install_dbの引数だけではなく、mysqldの引数でも同様に--collation-serverを指定する必要があった。
2つめの問題はしばらく悩んだのだが、fstat(1)で調べると、何かTCPのポートを開いていることまではわかりまさかと思って、
% netstat -af inet6 | egrep LIST
とすると見事にIPv6のソケットだけ開いている模様。きっと、ソケット1つでIPv4とIPv6の両方の待ち受けができると固く信じた実装なのだろう。
しばらく悩んで、mysqldの引数に--bind-address=127.0.0.1を加えてお茶を濁す。取り敢えず、localhost経由で接続できれば十分用を足す環境なので良しとする。
結果的に、/etc/rc.d/mysqldの変更:
-		${initdb} --force --user=${mysqld_user} \
+ ${initdb} --collation-server=utf8_general_ci \
+ --force --user=${mysqld_user} \
と/etc/rc.confに、
mysqld_flags="--bind-address=127.0.0.1 --collation-server=utf8_general_ci"
と加えたことになる。後は、MySQL 5.1.xでmysqldumpしていたデータベースを読ませて移行完了、気持ち反応が良くなったような気がする。
posted by Takahiro Kambe at 23:53| 京都 ☁| Comment(0) | TrackBack(0) | NetBSD | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。