結論
mac "ports"で入れたmysqlで、Test::mysqldは入れない方がよいかと思われます。
portsで入れていたとしても、以下より改めてmysqlを入れなおしたほうがよいと思われます。
理由は、portsで入れた場合のmysqlのインストール先がTest::mysqldの具合のいい場所にないのです。
だので、パスの設定をしなければいけなくなってしまい面倒な為です。
パス通すからportsでいれたまんまのmysqlで行きたい!というのであればそれはそれで可能です。
ということで…。
以下やったこと。
パスを通す1(Test::mysqldとして)
- mysql_install_db
- mysqld
この2つがTest::mysqldで必要らしく内部で。
$ which mysql_install_db $ which mysqld
をやってくれています。
しかし、パスが通ってないのでTest::mysqldはエラーを表示してとまります。
だので、なんとか見つけ出す!
portsで入れた場合は/opt/local/この配下辺りにあります。
/opt/local/lib/mysql5
というのがあったので、ここを見ていくと、
/opt/local/lib/mysql5/bin
の中に上記2つのファイルがあると思います。
ということで、bashrcに以下を記述。
export PATH=/opt/local/lib/mysql5/bin:$PATH
パスを通す2(mysqlとして)
mysql_install_dbが/opt/local/lib/mysql5/binにあることで、
--basedir='/opt/local/lib/mysql5として、mysqlを起動しようとします。
が、/opt/local/lib/mysql5/share/englishを探したけれどerrmsg.sysが見つかりませんというエラーをmysqlが表示してくれます。
そして、その他にも3つほどエラーが表示されて。
まとめると、以下の4つのファイルを求められます。
ということで以下4ファイルを探す。
- errmsg.sys
/opt/local/share/mysql5/mysql/english/
- fill_help_tables.sql
/opt/local/share/mysql5/mysql/fill_help_tables.sql
/opt/local/share/mysql5/mysql/mysql_system_tables.sql
/opt/local/share/mysql5/mysql/mysql_system_tables_data.sql
たぶん、それぞれこの辺りに在ります。
で、/opt/local/lib/mysql5/shareこの辺を探しましたっていうので、
そこからリンクを作っちゃう。
で、こんな感じにしました。
$ cd /opt/local/lib/mysql5/share/ $ ls -l english -> /opt/local/share/mysql5/mysql/english/ fill_help_tables.sql -> /opt/local/share/mysql5/mysql/fill_help_tables.sql mysql_system_tables.sql -> /opt/local/share/mysql5/mysql/mysql_system_tables.sql mysql_system_tables_data.sql -> /opt/local/share/mysql5/mysql/mysql_system_tables_data.sql
あとはTest::mysqldを使いましょう。
パスを通すことしかしていないので、もっとスマートな方法があると思います!
ひとまず、適当にパスを通しました。
こんな話をしていたらmysql-buildこんなのが在るよ。
と教えてもらったので、今度試してみようと思いまっす。