Mysql5.6から5.7へのアップグレード

Laravel MySQL Spatial extensionを使用するためにMySQL5.6から5.7に変更する必要があった。

まず最初にMysqlのデータベースをバックアップを取っておきます。
今回は全てのデータベースをバックアップしたかったので、下記を実行。

$ mysqldump -u root -x —all-databases > mysqlbk.sql
$ ls mysqlbk.sql

mysqlを停止させます。

$ mysql.server stop
$ sudo rm -rf /usr/local/var/mysql
$ brew uninstall mysql
$ brew install mysql@5.7
$ mysql.server start
...
The server quit without updating PID file

プロセスが残っているからかもしれないので、調べてみる。

$ brew uninstall mysql@5.7
$ ps aux | grep mysql

grepコマンドで調べると、mysql5.6のプロセスがあったので

$ kill -9 対象のPID

で削除します。

$ brew install mysql@5.7
$ vi ~/.zshrc
export PATH=/usr/local/opt/mysql@5.7/bin/:$PATH

$ source ~/.zshrc
$ mysql.server start

自動起動の設定

ln -sfv /usr/local/opt/mysql@5.7/*.plist ~/Library/LaunchAgents 
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql@5.7.plist

バックアップしておいたデータを復元する。

$ mysql -u root -p < mysqlbk.sql 
$ mysql -u root -p
$ mysql --version

タイトルとURLをコピーしました