MacPortsからMySQLをインスコしようとしたらトラブったのでメモ
最近 MacBook を買ったので、ちょいちょい Mac でもプログラム作ったりしてます。
開発環境の構築は面倒っちいのでパッケージングシステムを使ってしてます。Mac にも Linux の RPM とか FreeBSD の ports みたいなパッケージングシステムが何種類かあるのですが、とりあえず MacPorts を使ってます。
「MacPorts で MySQL インスコできたよー\(^o^)/」とか書いてるブログが山ほどあったので、自分の MacBook にも MySQL インスコしてみよっかなーと作業を始めてみたらトラブったのでメモっときます。
インストール手順
root での作業は sudo から実行しています。ガイルとザンギは無視してくださいww
1. mysql5 と mysql5-server パッケージをインストール
port install で mysql5 と mysql5-server をインストールします。ビルドにちょっと時間がかかりますが、ここでは問題は発生しません。
...
\ /
( ´∀`) ザンギエフへ げんきですか。いまmysql5溜めてます
_
i_iヽ
(゚д゚,,;;) うるさい死ね 溜めるな殺すぞ
2. mysql_install_db5 を実行する
mysql ユーザーで mysql_install_db5 を実行してデータベースを作成します。ここでも問題は発生しないと思います。
...
\ /
( ´∀`) mysql_install_db5 撃っておきました。ガードしてね 飛び込みはしますか?
_
i_iヽ
(#)Д`;;) 死ねくそガイル
3. mysql サーバを起動する
mysql サーバの起動スクリプトを実行します。以下のようにエラーメッセージが出ます。
Starting MySQL
...... ERROR! Manager of pid-file quit without updating file.
\ /
( ´∀`) ごめんね、ERROR!痛かった? 起き上がりにソニック重ねておきます
_
i_iヽ
(#)Д`;;) うるさい死ね 着地と同時にすぐ座り込むな
トラブルシューティング
どこで実行に失敗してるのか確認するためログファイルを開きます。MySQL のログファイルは /opt/local/var/db/mysql5/snowleopard.local.err (ログファイル名は “マシン名.err” で環境によります)にあります。
問題はこの辺で発生しているようです。
ied110112 14:49:16 [ERROR] Do you already have another mysqld server running on soc
ket: /opt/local/var/run/mysql5/mysqld.sock ?
110112 14:49:16 [ERROR] Aborting
ログによるとソケット mysqld.sock の作成に失敗しているようです。ソケットの作成先ディレクトリの /opt/local/var/run/ を ls で見てみます。
ls: run: Permission denied
$ ls -l /opt/local/var/run
drwx------ 5 root admin 170 1 12 14:45 /opt/local/var/run/
あら、ディレクトリが開けませんね。/opt/local/var/run/ にパーミッションが無いのが問題のようです。
MacPorts では mysql を _mysql ユーザーで実行するのですが、ソケットの作成も _mysql ユーザーで行いますので、run ディレクトリにパーミッションが無いとソケットの作成に失敗し起動できません。
ということでディレクトリにパーミッションを付与して再起動してみます。
$ sudo /opt/local/share/mysql5/mysql/mysql.server start
Starting MySQL
. SUCCESS!
動きますた。
その他の設定
MySQL サーバの起動に成功したらシステムの設定をします。設定方法は MacPortsを使ってMacにMySQLをインストールや PHP5環境構築(OSX macports) などを参考にしてください。
システムブート時に mysql を起動するように設定する際、/Library/LaunchDaemons/org.macports.mysql5.plist のインストール方法が若干改良されていますので、launchctl を直接実行せずに port load を実行した方が良いと思います。
おしまい
MacPortsからMySQLをインスコしようとしたらトラブったのでメモ | さくらたんどっとびーず
nice work keep it up