MySQL5.7系は、macOS Sierraでは5.7.15以降にしないと動かないようです。
Does macOS sierra support any version of mysql? | Apple Developer Forums
MySQL5.7.11から5.7.16にアップデートした時の手順です。
バックアップ
サーバーが動いていないので mysqldump は使えません。とりあえず、データフォルダーをコピーしておきます。
sudo cp -R /usr/local/var/mysql ~/mysql5.7.11.backup
ダウンロード
- MySQL :: MySQL Community Downloadsを開く
- MySQL Community Server(GPL)の DOWNLOAD をクリック
- 下にスクロールして、適切なプラットフォームを選択して、[DMG Archive]を[Download]する
- ログインするか、[No thanks, just start my download.]をクリック
- ダウンロードが完了するのを待つ
インストール
- ダウンロードした .dmg ファイルをダブルクリックする
- .pkg ファイルをダブルクリックする
- Installerダイアログが表示されたら[Continue]>[Agree]>[Install]で進める
- [Install for all users of this computer]を選択して[Continue]>[Install]
- temporaryパスワードが画面に表示されるので、書き留めておく。インストール後、そのパスワードでログインしたのち、新しいパスワードを設定する
- インストールが完了したら[Close]を押す
アップグレード
- mysqld_safeでサーバーを起動
sudo mysqld_safe --user=mysql --datadir=/usr/local/var/mysql
- サーバーが起動して待機状態になる。新しいターミナルを開く
- 以下でアップグレードを実行する
sudo mysql_upgrade -u root -p
- 一時パスワードでアップグレードを実行する
- 成功したら、以下で一旦シャットダウンしてから、再起動する
mysqladmin -u root -p shutdown sudo mysqld_safe --user=mysql --datadir=/usr/local/var/mysql
- 使えるターミナルで、以下を実行
mysql -u root -p
- パスワードを設定する
SET PASSWORD = PASSWORD('some password') exit
以上で、mysqld_safeでサーバーを起動すれば完了です。
データをデフォルトの場所に移動
毎回データフォルダーを指定するのが面倒なので、データをバックアップして、デフォルトの場所に読み込み直します。
- 現在のデータをバックアップ
mysqldump -u root -p --add-drop-table --routines --events --all-databases --force > data-for-upgrade.sql
- MySQLをデフォルトのデータフォルダーで再起動
mysqladmin -u root -p sudo mysqld_safe
- バックアップしたデータを使ってリストアして、データをアップグレード
mysql -u root -p --force < data-for-upgrade.sql sudo mysql_upgrade -u root -p
以上で完了です。この後は、以下でMySQLを簡単に起動できます。
sudo mysqld_safe
シャットダウンは以下の通りです。
mysqladmin -u root -p shutdown