LoginSignup
3
2

More than 3 years have passed since last update.

Mysql5.6から5.7への移行

Posted at

自分のローカル環境の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

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2