技術ブログとして初投稿です。
今回はMySQLをMacのHomebrewを使ってインストールする方法を解説していきます。
この記事について
- 使ってるMacPCにMySQLをインストールすることができる
- 初学者がつまづきやすいポイントやこれってどういう意味?を文系出身エンジニア目線で解説
それではいきましょう。
Homebrewでインストールする方法
HomebrewとはAppleが提供するパッケージ管理ツール的なやつ。
そもそも使ってるMacにHomwbrewがインストールされているかの確認。
~ % brew -v
Homebrew 4.4.16
Homebrew4.4.16がインストールされていることを確認できました。
Homebrewがまだインストールされていないよという方は以下の記事が参考になるでしょう。

Homebrewのインストールが確認できたら、brew install mysql を打ってMySQLのインストール開始。自動でインストールが始まります。
brew install mysql
==> Auto-updating Homebrew...
Adjust how often this is run with HOMEBREW_AUTO_UPDATE_SECS or disable with
HOMEBREW_NO_AUTO_UPDATE. Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
==> Downloading https://ghcr.io/v2/homebrew/portable-ruby/portable-ruby/blobs/sha256:9fd394a40fb1467f89206a9c89c1274d9dc053af688176667a0cac0c3014113f
######################################################################### 100.0%
==> Pouring portable-ruby-3.4.3.el_capitan.bottle.tar.gz
==> Auto-updated Homebrew!
Updated 2 taps (homebrew/core and homebrew/cask).
==> New Formulae
ab-av1
etc......
結構時間かかります。画面にポンポンメッセージが出ますが焦らないように。なんか自動でどんどん進んでいくので怖いと思う人もいるかもですが、自動でどんどん進んで動いていく様子を見れてコンピュータだなぁ…(?)と感じるのでこの光景は結構好きだったりする。
インストール完了後、以下のメッセージが表示されます。
==> Caveats
==> mysql
Upgrading from MySQL <8.4 to MySQL >9.0 requires running MySQL 8.4 first:
- brew services stop mysql
- brew install mysql@8.4
- brew services start mysql@8.4
- brew services stop mysql@8.4
- brew services start mysql
We've installed your MySQL database without a root password. To secure it run:
mysql_secure_installation
MySQL is configured to only allow connections from localhost by default
To connect run:
mysql -u root
To start mysql now and restart at login:
brew services start mysql
Or, if you don't want/need a background service you can just run:
/usr/local/opt/mysql/bin/mysqld_safe --datadir\=/usr/local/var/mysql
いっこずつ解説します。
Upgrading from MySQL <8.4 to MySQL >9.0 requires running MySQL 8.4 first:
- brew services stop mysql
- brew install mysql@8.4
- brew services start mysql@8.4
- brew services stop mysql@8.4
- brew services start mysql
MySQLを8.4から9.0へバージョンアップする際の手順が示されてます。どうやら8.4を経由してインストールする必要があるらしい。
- brew services stop mysql — 起動中のMySQLを停止させる
- brew install mysql@8.4 — ver8.4のMySQLをインストール
- brew services start mysql@8.4 — ver8.4のMySQLを起動
- brew services stop mysql@8.4 — 起動したMySQLを停止(試験的に動かしてるのか?)
- brew services start mysql — MySQLを実行。– homebrewが最新バージョンを起動
念の為、インストールされたバージョンの確認をしてみる。
~ % mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 9.3.0 Homebrew <-- これ
Mysqのverみたら9.3.0だったから別にこの手順は必要ないっぽい。
つづき。
We've installed your MySQL database without a root password. To secure it run:
mysql_secure_installation
「rootユーザーのパスワードがないから、セキュリティの観点からもmysql_secure_installation を実行してね。」
と言ってます。
mysql_secure_installationを実行するとrootパスワードの設定、リモートからのrootログインの禁止などが設定できるので必ず実施しましょう。mysql_secure_installationの設定方法はのちほど解説します。
MySQL is configured to only allow connections from localhost by default
「MySQLはデフォルトでローカルマシンからの接続のみを許可する設定になってます」
と言ってます。つまり自分のPC(ローカルホスト)からしか接続できないよーということです。
リモートからの接続も行いたい場合は設定ファイルをいじります。後ほど解説。
To connect run:
mysql -u root
「接続するには”mysql -u root”を打ってね」と言ってます。
mysql_secure_installationを実行していない場合は、パスワードを指定していなくてもrootログインができちゃいます。なのでこれ打ったらmysqlに接続できます。
To start mysql now and restart at login:
brew services start mysql
「MySQLを起動して、MacOSが起動したときに自動で再起動するようにするにはbrew services start mysqlを実行してね」と言ってます。
Or, if you don't want/need a background service you can just run:
/usr/local/opt/mysql/bin/mysqld_safe --datadir\=/usr/local/var/mysql
「バックグランドサービスではなく必要なときに接続したい場合は、/usr/local/opt/mysql/bin/mysqld_safe –datadir=/usr/local/var/mysqlを打ってね」と言ってます。
どのような違いがあるのかというと言葉の通り、バックグラウンドで起動するか否かです。開発環境でMySQLを常に動作しておく場合はバックグランドで起動した方がいちいち起動しなくてよくなります。
ただコンピュータのリソースは常に消費していることになるので、一時的に確認する場合は/usr/local/opt/mysql/bin/mysqld_safe –datadir\=/usr/local/var/mysqlで起動した方が良いですね。ターミナルを閉じるとMySQLも閉じます。
my_sql_secure_installationの設定
MySQLの基本的な設定を始めます。
- パスワードの強度の設定
- rootユーザーのパスワード設定
- 匿名ユーザーの削除
- テストデータベースの削除
- 特権テーブルのリロード
の順で行います。
mysql_secure_installation
上記コマンドを打つと設定が始まります。
まずはじめにパスワードの複雑さの設定から始めます。
今回は開発環境でのみしか使用しないので、Noを選択しました。必要な状況に沿って、適宜設定してください。
rootユーザーのパスワードの設定は個人のみで使う場合も念の為、必ず設定しておきましょう。
パスワードを2回同じものを入力した後に入力したパスワードの強度が数値で表示されます。たぶん100を満たしてないと、「現在のパスワードバリデーションを満たしていません」とエラーが出て次に進めないかもです、、、。
Anonymousユーザー(匿名ユーザー)を削除するか聞かれます。不要なのでYesと答えましょう。
rootユーザーがリモートでの接続を拒否するかどうか聞かれます。自身のローカルPC以外からMySQLに接続する場合はこちらはNoと答えましょう。基本はYes(リモートでの接続はダメ)で大丈夫です。
テストデータベースを削除するかどうか聞かれます。不要なのでYesでOK。
最後に特権テーブルに今までの変更を今すぐ適用するかどうか聞かれます。変更分を適用させるかなので、YesでOK。
インストールしたMySQLにログイン
では最後に、インストールしたMySQLに接続してみましょう。以下のクエリを入力して、一時的にMySQLに接続します。
/usr/local/opt/mysql/bin/mysqld_safe --datadir\=/usr/local/var/mysql
Starting mysqld daemon with databases from /usr/local/var/mysql
のメッセージが出たらバックグラウンドで起動しています。
別ターミナルを開いて、mysql -u root -pをパスワードと合わせて入力。
以下のメッセージが画面に出力されたら接続完了です。
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 9.3.0 Homebrew
Copyright (c) 2000, 2025, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
Let’s create your database!
コメント