macOS Sierraで、Homebrew経由でMySQLをインストール&使用開始できる状態にする
Macにインストール
$ brew install mysql
MySQLの初期設定
$ mysqld --initialize --explicit_defaults_for_timestamp
で初期設定。
--initialize specified but the data directory has files in it. Aborting
というエラーメッセージが出た場合は、${Homebrewのインストールディレクトリ}/var/mysql
ディレクトリが存在しているから。存在していれば削除して初期設定をやり直す。
成功したら
A temporary password is generated for root@localhost: XXXXXXXX
などと仮のrootパスワードが出てくるので忘れずにメモ。
my.cnf
でsockファイルの場所を指定
$ mysql --help | grep my.cnf
でmy.cnfの場所を検索。
order of preference, my.cnf, $MYSQL_TCP_PORT, /etc/my.cnf /etc/mysql/my.cnf ${Homebrewのインストールディレクトリ}/etc/my.cnf ~/.my.cnf
などと出てくるはず。好みの場所にmy.cnfファイルを作成。 中身は
[client] socket=/tmp/mysql/mysql.sock [mysqld] socket=/tmp/mysql/mysql.sock
とする。
Sockファイル作成
$ cd /tmp $ sudo mkdir mysql $ cd mysql $ sudo touch mysql.sock
権限設定
${Homebrewのインストールディレクトリ}/var/mysql
/tmp/mysql
${好みの場所に書いたmy.cnfのディレクトリ}/my.cnf
/tmp/mysql/mysql.sock
4つのディレクトリ・ファイルの権限を整える。
$ cd /tmp/mysql $ sudo chown -R ${Macのユーザ名。whoamiで出るもの。}:wheel mysql/ $ cd ${Homebrewのインストールディレクトリ}/var $ sudo chown -R ${Macのユーザ名。whoamiで出るもの。}:wheel mysql/ $ cd ${好みの場所に書いたmy.cnfのディレクトリ} $ sudo chown ${Macのユーザ名。whoamiで出るもの。}:wheel my.cnf $ cd /tmp/mysql $ sudo chown ${Macのユーザ名。whoamiで出るもの。}:wheel mysql.sock
MySQLのサーバを起動
$ mysql.server start
とやって、
Sucess!
と出れば成功。
MySQLのクライアントを起動
$ mysql -u root -p
で上記でメモした仮パスワードを入れてログイン。 ログインできたら成功。 ログイン後は、仮パスワードを変更しないと何も操作できないので、
mysql> set password for root@localhost=password('パスワード');
で、rootのパスワードを更新する。
セキュア設定
$ mysql_secure_installation
を実行するだけ。