アップデートまでの流れ
・MySQLにてEXPLAIN ANALYZE ステートメントの実行ができない
・調査の結果MySQL5.7.42
だとバージョンが古い
・アップデートしよう!
・何故か上手くできない!
・入れ始めたばかりだからアンインストールしてやり直し
・成功!
試みた事
mac os 13.3.1
にて、Homebrew経由でターミナルから導入しているので、同じようにそこからアップデートを試みる。
Qiita記事で同じ境遇の方が複数名いらっしゃるのでそちらを参考にしてます。
- 今のバージョンをチェック
% mysql --version
mysql Ver 14.14 Distrib 5.7.42, for osx10.18 (x86_64) using EditLine wrapper
- Homebrewからアップデート
% brew update
- アップデートしたMySQLのインストール
% brew install mysql
- バージョン確認
mysql Ver 14.14 Distrib 5.7.42, for osx10.18 (x86_64) using EditLine wrapper
変更できておらず
- プロセスの確認
# プロセスの確認
% ps ax | grep mysql
51962 ?? S 0:00.03 /bin/sh /opt/homebrew/opt/mysql@5.7/bin/mysqld_safe --datadir=/opt/homebrew/var/mysql
52049 ?? S 0:07.21 /opt/homebrew/opt/mysql@5.7/bin/mysqld --basedir=/opt/homebrew/opt/mysql@5.7 --datadir=/opt/homebrew/var/mysql --plugin-dir=/opt/homebrew/opt/mysql@5.7/lib/plugin --log-error=MacBook-Air.local.err --pid-file=MacBook-Air.local.pid
60279 s001 S+ 0:00.00 grep mysql
# killコマンドで対処
kill -9 51962
kill -9 52049
# 何故か52049というプロセスはない!と弾かれる、、、2行目のものは扱いが違う?
kill: kill 52049 failed: no such process
--plugin-dir
から以降の文が参考にしている方の中には見受けられない内容が、、、
- 念の為バージョン再確認
mysql Ver 14.14 Distrib 5.7.42, for osx10.18 (x86_64) using EditLine wrapper
やはり変わってない、、、!
アンインストールから再インストールへ
ここまでやっておきながらインストール時にバージョン指定していたことを思い出す
↓下記コードにて
% brew install mysql@[バージョン指定]
# []部に 5.7とバージョン指定してしまってた
あえて古いものを入れていた結果に、、、
このバージョンではMySQLの簡単な操作練習しかしていないので、一度アンインストールで綺麗にする方向へと変換。
- アンインストール
% brew uninstall mysql
- MySQLが無くなっているか確認
% mysql --version
zsh: command not found: mysql
綺麗に無くなっていることを確認。
ここでMySQLが残っていると最新版をインストールしても上手く作動してくれません(体験談)。
- 再インストール
# バージョンの指定をせずにインストール
brew install mysql
- バージョン確認
% mysql --version
mysql Ver 8.0.33 for macos13.3 on arm64 (Homebrew)
無事8.0.33
のインストールを確認。
こだわりのない方はバージョン指定しなくて良さそうですね。
-
動作確認
最後にしっかり動くか動作確認
% brew services start mysql
==> Successfully started `mysql` (label: homebrew.mxcl.mysql)
% - echo 'export PATH="/opt/homebrew/opt/mysql/bin/mysql:$PATH"' >> ~/.zshrc
% source ~/.zshrc
% mysql --user=root --password
mysql>
無事に動き、当初の目的だったEXPLAIN ANALYZEステートメントが使用できました、、、!