MacにMySQL5を手動でインストールする

名指しで検索されるようなので、復活コンテンツです。

注:本記事は10.5向けに書かれています。Snow Leopardでは、64ビット版MySQLのインストールが強く奨励されています。特にRails用でインストールしたいと思っている人は注意しましょう。詳しくは以下参照。
http://journal.mycom.co.jp/news/2009/09/01/033/index.html

もしない場合、MacPortsを使って入れるのが一般的ですが(いろいろ便利だから入れといた方がいい)、MySQLのDMGパッケージを落としてきて、普通のアプリケーションを入れるかのごとく入れてしまってもOK。ただしその場合は、パスが通ってないので、Terminalでmysqlを呼び出しても、bashさんに「そんなのねーよ」と怒られます。

パスってなぁに

Linuxに慣れてないとパスってなぁに状態だと思うので簡単に解説。簡単にいえばパスっていうのは、Macでいうエイリアス(ショートカット)のようなものです。「毎回、/usr/local/mysql/bin/mysqlって打つのは、めんどいよねー、じゃあショートカット作っちゃおう」を実現するのがパスです。ただ、エイリアスやショートカットと違って、「.bash_profile」や「.bashrc」という設定ファイルを作らないといけない。

通常の処理で必要な設定を書き込むファイルは、「~/.bash_profile」、「~/.bashrc」の2つで十分です。これは、~/.bash_profileは(1.で書きましたが、)ログインシェルが起動時に真っ先に読み込まれるファイルなので、これを作成しておけば確実に設定が読み込まれること。また ~/.bashrcについては、またシェルを立ち上げるたびに処理のために必要な環境変数や設定を読み込ませるためです。

一度、どんなパスが通っている(経路が作られている)か確認しましょう。

$ $PATH
ふーん、などと思ってもらえればOK。

「なにを~/.bash_profileに書き、何を~/.bashrcに書き込むのかの区別」ですが
~/.bash_profileに記述してよい設定
 ・コマンド検索パスの設定(PATH変数)
~/.bashrcに記述した方がよい設定
 ・エイリアス(別名)の設定 
  これは「alias ls=’ls -l’」のようにコマンド文字列に別名をつける設定です。
 ・コマンドプロンプトの表示設定(PS1変数)

パスの通し方・設定の反映

viというコマンドベースのエディタを使って、「.bashrc」「.bash_profile」をホームディレクトリに作っていきます。まずはTerminalで「cd」とだけ打つ(Enterキーを押すこと)。するとホームディレクトリに飛ばされます。「ls」と打つと、今いるディレクトリの内容物が一覧になるはず。「あ、なるほど。ここなのね」とか思ってください。次に、

$ vi ~/.bashrc
i

「$ 」は入れなくて大丈夫です。次に「i」とだけ入れれば、Insert modeに切り替わります。下の方にINSERTと出てるはず。「~/」っていうのは今いるディレクトリ(現時点ではログインユーザのホームディレクトリ)のことね。まずは以下の2行を追加します。

alias mysql=/usr/local/mysql/bin/mysql
alias mysqladmin=/usr/local/mysql/bin/mysqladmin

打ち込み終わったら、エスケープ(esc)キーを押して「:wq」と打ち込みEnterキーを押すと、viがファイルをセーブして終了してくれます。同じようにして、~/.bash_profile に以下を追加しましょう。

PATH=/usr/local/mysql/bin:$PATH
export PATH

これでパスの設定は反映されましたが、システムに認識されてないので、認識させてあげます。その前に、もう一度「ls」と打って「あぁ本当に作られてる」などと確認しておきましょうね。では、次のコマンドを打ちます。

$ source ~/.bashrc

はい、これでシステムに認識されたはずです。パスが本当に通ったか確認しましょう。

$ $PATH

MySQLの管理者パスワードを設定する

次に、MySQLのrootパスワードを設定しましょう。

$ sudo mysqladmin -u root password ‘password’

後者の’password’のところを変えます。’記号はそのまま残しておいて大丈夫です。以上で基本的なインストールは終わり。MySQLに行けるか確かめます。

$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.0.67 MySQL Community Server (GPL)

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

mysql> exit
Bye
$

こうなればOK。上記操作の通り、mysqlの操作から抜けるときは「exit」と打ち込んでEnter。他にもいろいろ設定することはあるんですが、まぁその辺は他のサイトや本をみてください。いつかフォローする可能性はあります。

Snow Leopard + Ruby on Rails 2.2でMySQLを使う

いわゆる追記です。Rails 2.2以降ではMySQLが標準装備ではなくなりました。そのためMySQLをデータベースとして利用する場合は別途gem install mysqlを求められることがありますが、そのままでは動かないことがあります。

ドライバインストールしたのに動かない、あるいはうまくインストールできないというときは、まずはこの辺の方々の記事を参照してください。

MacOSX での Rails 2.2 環境を構築して MySQL のドライバでハマる
http://d.hatena.ne.jp/seiunsky/20081231/1230752200

上記の手順を試しても駄目な場合(以下のようなエラーがでる場合)は前提条件を一度確認しましょう。
Error: uninitialized constant MysqlCompat::MysqlRes

Snow Leopardでは、64ビット版MySQLのインストールが強く奨励されています。詳しくは以下参照。
http://journal.mycom.co.jp/news/2009/09/01/033/index.html

64ビット版MySQLをインストールしたら、以下の手順でgem installをやり直します。

sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql- config=/usr/local/mysql/bin/mysql_config

これでうまく行くはず。メモ書きなので詳細はいずれ。

ディスカッションに参加

2件のコメント

  1. 明けましておめでとうございます。
    お久し振りにコメントさせて頂きます。
    以前お会いした時お話になっていた会社の方も無事立ち上げられたようですね。
    これからの飛躍を期待しております。

  2. あけましておめでとうございます&ありがとうございます。
    そちらもお変わりないようでなによりです。
    たまに本のリスト拝見させていただいてますよー。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です