はじめに
MacでMySQLクライアントをインストールしたにもかかわらず、mysql コマンドが使えないという状況に直面する人は少なくありません。
特にIntel MacとApple Silicon Macでパスの扱いが異なるため、混乱が生じがちです。
本記事ではその原因と解決方法をまとめています。
書こうと思ったきっかけ
開発環境構築中、mysql コマンドがどこにも見つからず作業が進められなかったことがありました。
個人の備忘録程度の走り書きとなっておりますが、温かい目で見守っていただければ幸いです。
似たような問題で悩んでいる方が多いと感じたため、備忘録も兼ねてこの記事を書くことにしました。
Macでmysqlコマンドが見つからないときの対処法
Homebrew経由でMySQLクライアントをインストールした後に、mysql コマンドが見つからないというエラーが出ることがあります。以下は、実際のやり取りと原因、そして解決方法をまとめた記事です。
発生したエラー
~/Desktop mysql --version
zsh: command not found: mysql
~/Desktop mysql -version
zsh: command not found: mysql
~/Desktop mysql -h xxx.ap-northeast-1.rds.amazonaws.com -u youruser -p
zsh: command not found: mysql
原因の調査
which mysql コマンドで確認しても mysql not found となり、/opt/homebrew/opt/mysql-client/bin にもディレクトリが存在しませんでした。
しかし、以下のコマンドで確認すると /usr/local/opt/mysql-client/bin にしっかりと mysql 関連コマンドが存在していました。
~/Desktop ls /usr/local/opt/mysql-client/bin
mysql mysqladmin mysqlimport
mysql_config mysql_config_editor mysqlbinlog
mysql_secure_installation mysqldump mysqlshow
つまり、MySQLクライアントはインストール済みだが、パスが通っていなかったということになります。
解決方法
-
.zshrcファイルを開き、以下のパスを追加します:
export PATH="/usr/local/opt/mysql-client/bin:$PATH"
- その後、ターミナルで以下を実行して設定を反映させます:
source ~/.zshrc
- 正しく設定されたか確認:
which mysql
mysql --version
解説:なぜこうなった?
Apple Silicon(M1/M2)MacではHomebrewのデフォルトパスが/opt/homebrew/になりますが、Intel Macでは/usr/local/になります。
最初に設定していた以下のパス:
export PATH="/opt/homebrew/opt/mysql-client/bin:$PATH"
これはApple Silicon向けのパスであり、Intel Mac環境では正しく機能しません。今回はIntel Macだったため、正しいパスである:
/usr/local/opt/mysql-client/bin
を指定することで解決しました。
接続確認
設定後、以下のコマンドでMySQLに接続できるか確認します:
mysql -h xxx.ap-northeast-1.rds.amazonaws.com -u youruser -p
パスワードを求められたら、正常に接続できている証拠です。
まとめ
-
mysql: command not foundが出たら、まずパスが正しいか確認 - Macのチップ(Intel / M1 / M2)によりHomebrewのパスが異なる
- パスを
.zshrcに正しく追記し、source ~/.zshrcで反映 - 同様のエラーでつまずいている人は意外と多いので、冷静にパスの確認から進めましょう
同様の問題に直面した方の参考になれば幸いです!