読者です 読者をやめる 読者になる 読者になる

pirosikick's diary

君のハートにunshift

Snow LeopardにMySQL5をインストールするときにはまったこと

いやー時間かかった。MacPortsでサクっとインストール出来ると思いきや、ログイン出来るようになるまで5日も掛かりました。今もrootユーザのパスワードが設定できないという問題と格闘中。笑

まだ時間かかりそうなので、今の時点ではまったことを忘れないうちにまとめます。

1. mysql5とmysql5-devel

はじめにインストールしたときは「mysql5」と「mysql5-server」をインストールしたわけですが、起動はできるがDBの初期化ができず。。。

# DBの初期化
# ファイル名は忘れたが「作成できません」っていうエラーが出る。
$ sudo /opt/local/lib/mysql5/bin/mysql_install_db --user=mysql

# 起動
# こちらはSUCCESSと表示され成功する
$ sudo /opt/local/share/mysql5/mysql/mysql.server start

調べていくうちに「mysql5-devel」と「mysql5-server-devel」 っていうパッケージがあることに気づく。というか「macports mysql snow loepard」とかで検索して出てくるサイトはだいたい「mysql5-devel」と「mysql5-server-devel」をインストールしていた。インストールして先程のDB初期化のコマンドを実行するとエラーなく完了!しかし起動がうまくいかない。。。PIDファイルがなんちゃらとかいうエラーが出る。

2. なんか起動できない

PIDファイルがなんかおかしいよ的なエラーが出る。調べてみるとmysql5の設定ファイル(/opt/local/etc/mysql5/my.cnf)のソケットのところに書いてあるPIDファイルのパスがおかしいのが原因かも!

# my.cnf
# 修正前はsocketのところに書いてあるパスが違ってたので、
# 全部/tmp/mysql.sock
[mysqld]
socket = /tmp/mysql.sock

[mysqld_safe]
socket = /tmp/mysql.sock

修正して再挑戦。。。ダメでした。ここで3日くらい使いました。笑

そもそもPIDファイルってなんやねんと思って調べていると、なんかそれっぽいことを書いてあるブログを発見。
MYSQL:No mysqld pid file found. Looked for ・・・ の対処方法 KAKIMASSE
もしかして、変なプロセスがいるんじゃない?っと思いpsコマンドを実行。

$ ps aux | grep mysql

お、やっぱりなんか変なプロセスいるじゃん!たぶんmysql5をインストールしたときに何回か起動したのがそのまま残ってたんだと思います。killして消します。

$ sudo kill プロセス番号

再挑戦。。。。今度はうまく行ったーーーー

3. ログインできない

起動後は割とうまく行っていたのですが、いざログインしようとするとできない。。。

# root でログイン
$ mysql5 -u root -p

またPIDファイルがありませんみたいなエラー。。。あれ、よく見るとさっき設定したPIDファイルと違うなー。
ということで設定を見てみるとやっぱり違ってた。修正する。

# /opt/local/etc/mysql5/my.cnf
# [client]のsocketのパスを変更
[client]
socket = /tmp/mysql.sock

再挑戦。。。。ログイン出来たー!!

4. パスワードが設定できない

今ここ。rootのパスワードが設定できない。

/opt/local/lib/mysql5/bin/mysqladmin -u root password 'パスワード'

よくわからないエラーが。。。あれ?でないぞ。なぜか解決してました。笑

まとめ

  • mysql5-develとmysql5-server-develを最初からインストールしとけばよかった
  • もっと調べてから作業を進めるべきだった。。

エキスパートのためのMySQL[運用+管理]トラブルシューティングガイド

エキスパートのためのMySQL[運用+管理]トラブルシューティングガイド