Macportsからのインストール

インストール

[Macportsからインストール]

$ sudo port install mysql56-server

[初期セットアップ]

$ sudo -u _mysql /opt/local/lib/mysql56/bin/mysql_install_db

なにやらエラーが出ていたのでディレクトリ作成

$ sudo mkdir /etc/mysql56
$ sudo chown mysql:_mysql /etc/mysql56
$ sudo -u _mysql cp -pi /opt/local/share/mysql56/support-files/my-default.cnf $basedir/etc/mysql56/my.cnf


[サービス自動起動設定]

Xcodeがザワついているが、とりあえず起動した。

$ sudo port load mysql56-server
Error: 
Error: No Xcode installation was found.
Error: Please install Xcode and/or run xcode-select to specify its location.
Error: 
Warning: xcodebuild exists but failed to execute

$ ps -ef |grep mysql
    0 19092     1   0  7:29AM ??         0:00.01 /opt/local/bin/daemondo --label=mysql56-server --start-cmd /opt/local/lib/mysql56/bin/mysqld --user=_mysql ; --pid=exec
   74 19093 19092   0  7:29AM ??         0:00.40 /opt/local/lib/mysql56/bin/mysqld --user=_mysql
  501 19098   408   0  7:29AM ttys002    0:00.00 grep mysql

が、パスワード設定できず

$ sudo /opt/local/lib/mysql56/bin/mysqladmin -u root password 'hogehoge'    # 失敗した..
/opt/local/lib/mysql56/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'

$ /opt/local/lib/mysql56/bin/mysql -u root -p    # ログインできない...
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

[パスワード設定]

mysqld_safeで起動しようとしたがスクリプトエラー

$ cd /opt/local ; sudo -u _mysql /opt/local/lib/mysql56/bin/mysqld_safe --skip-grant-tables &
[1] 19267

$ 131104 07:46:55 mysqld_safe Logging to '/opt/local/var/db/mysql56/air.local.err'.
/opt/local/lib/mysql56/bin/mysqld_safe: line 726: syntax error near unexpected token `then'
/opt/local/lib/mysql56/bin/mysqld_safe: line 726: `    then    # The pid contains a mysqld process'

該当部分を適当にコメントアウトして進めた

$ sudo vi /opt/local/lib/mysql56/bin/mysqld_safe

再度、mysqld_safeを起動して権限付与

$ cd /opt/local ; sudo -u _mysql /opt/local/lib/mysql56/bin/mysqld_safe --skip-grant-tables &

mysql>  truncate table user;
Query OK, 0 rows affected (0.01 sec)

mysql>  flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> grant all privileges on *.* to root@localhost identified by 'hogehoge' with grant option;
Query OK, 0 rows affected (0.01 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql>  select host, user from user;
+-----------+------+
| host      | user |
+-----------+------+
| localhost | root |
+-----------+------+
1 row in set (0.00 sec)
mysql> quit;


[MySQL再起動]

$ sudo pkill mysql
$ sudo port load mysql56-server
$ ps -ef | grep mysq[l]
    0 19725     1   0  7:56AM ??         0:00.01 /opt/local/bin/daemondo --label=mysql56-server --start-cmd /opt/local/lib/mysql56/bin/mysqld --user=_mysql ; --pid=exec
   74 19726 19725   0  7:56AM ??         0:00.43 /opt/local/lib/mysql56/bin/mysqld --user=_mysql

[MySQLに接続]

$ /opt/local/lib/mysql56/bin/mysql -u root -p 


その他設定

[skip-networking"のエントリーをコメント化]

$ sudo vi /opt/local/etc/mysql56/macports-default.cnf

[PATH設定]

$ echo 'export PATH=/opt/local/share/mysql56/support-files:/opt/local/lib/mysql56/bin:$PATH' >~/.bash_profile
$ . ~/.bash_profile