自分のローカル環境のmysqlのバージョンが5.6系だった為、5.7系にバージョンを上げてその際に起きたエラーと他のコマンド等の備忘録(Macでやってます)
既存のMysqlのデータのバックアップを取る。
まず最初にMysqlのデータベースをバックアップ。
今回は全てのデータベースをバックアップしたかったので
$ mysqldump -u root -x —all-databases > mysqlbk.sql
一応ファイルと中身があるか確認
$ ls mysqlbk.sql
$ cat mysqlbk.sql ←これはやらない方がいいと思う
mysqlの停止
$ mysql.server stop
ただしここでエラーが発生
The server quit without updating PID file (/usr/local/var/mysql/ここはユーザーのmacbook-proとか出ます.local.pid).
もろもろ調べてみました(この辺りの記事)
https://qiita.com/_natsu_no_yuki_/items/ae4c94187093e4ab3cdc
http://morototo.hatenablog.com/entry/2017/07/29/103204
とりあえず上の記事を参考にして
$ 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 (/usr/local/var/mysql/ここはユーザーのmacbook-proとか出ます.local.pid).
もしかしたらプロセスが残っているからなのではと思い
$ brew uninstall mysql@5.7
$ ps aux | grep mysql
これでmysql5.6で生きていたプロセスがあったので
$ kill -9 対象のPID
これで削除ののち
$ brew install mysql@5.7
$ echo 'export PATH="/usr/local/opt/mysql@5.7/bin:$PATH"' >> ~/.bash_profile
$ source ~/.bash_profile
$ mysql.server start
SUCCESS!
動いたので自動起動の設定も
$ 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
> show databases;
無事に全てのデータが格納されていました。
pidのエラーに関してはもう少しちゃんと調べれば簡単に解決できそうでした。
参考にした記事
https://qiita.com/mikakane/items/6857a4ae25ceaed4ee4e
https://qiita.com/dkjym/items/d2bfca70bc9b0c2ee9dc