MySQL8.0をmacOSにインストールする方法

MacにデータベースMySQL8.0をインストールして設定する方法についてまとめました。

この記事は、オンライン講座「はじめてのSQL・データ分析入門 – データベースのデータをビジネスパーソンが現場で活用するためのSQL初心者向コース」のサポート記事です。

ターミナルを起動

ターミナルにコマンドを入力して、エンターキーを押す

$ brew --version

-bash: brew: command not foundというように、バージョンが表示されない方は、インストールされていません。
インストールを行ないましょう。

公式サイトからスクリプトをコピー

公式サイトからスクリプトをコピーします。

スクリプトの実行

公式サイトからコピーしたスクリプトを、ターミナルに貼り付けて実行します(ペーストして、エンターキーを押す)。

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
==> This script will install:
・・・
Press RETURN to continue or any other key to abort

パスーワードを求められたら、Macのログインパスワードを入力してエンターキーを押します。
Press RETURN to continue or any other key to abortと表示されたら、enterキーなど何かしらのキーボードのキーをおします。
インストールが完了です。

バージョンの確認

ターミナルで、コマンド「brew –version」を入力して、エンターキーを押します。

$ brew --version
Homebrew 1.5.4
Homebrew/homebrew-core (git revision 51d5; last commit 2018-02-20)

※ 実行のタイミングにより、バージョンは異なります。基本的には、最新のバージョンを使えばOKです。

補足 Next Stepの欄の内容について

もし、Next Stepの欄にPATHを追加してくださいという、メッセージが表示されている場合は、

指示通り2つのコマンドを実行してください(コマンドを1行ずつコピーアンドペーストして、エンタキーを押して実行)。

MySQL8.0のインストール

念のためhomebrewを最新にする

ホームブルーを最新版に更新するには、次のようにします。(ターミナルでbrew updateと入力してエンターキー)

$ brew update
Already up-to-date.

のように「Already up-to-date.」表示されれば、最新バージョンであることを示します。

formula

homebrew では、いわゆるパッケージ名のことを formula と呼びます。

ホームブルーを使ってインストールされるformulaである、MySQLのバージョンを確認します。(ターミナルにbrew info mysqlと入力してエンターキー)

$ brew info mysql

次のように表示されます。

mysql: stable 8.0.11 (bottled)
・・・略・・・

mysql: stable 8.0.11、つまり安定版のバージョン8.0.11がインストールされます。

MySQLのインストールを実行

ターミナルに「brew install mysql」と入力してエンターキー

$ brew install mysql

インストールしたMySQLのバージョン確認

ターミナルに「mysql –version」と入力してエンターキー。

$ mysql --version
mysql  Ver 8.0.11 for osx10.13 on x86_64 (Homebrew)

※MySQL8.0.11がインストールされていることが確認できます。11の部分はインストールのタイミングで異なることがあります。

my.cnfファイルの設定

MySQLの設定は、my.cnfファイルに記載します。

日本語化設定と暗号化プラグインの設定

日本語が文字化けすることとを防ぐための設定と、暗号化プラグインの設定を行ないます。

MySQLの設定は、my.cnf というファイルに記載します。

次のように入力して、エンターキー

% vim /opt/homebrew/etc/my.cnf

vim(ヴィム)は、テキストエディタを起動するための、コマンドです。

キーボードのiキーを押すと、左下にinsertと表示されます。
こうなると、文字列の編集が行えるようになります。

my.cnf の末尾に次のように入力します(間違えないように、コピー&ペーストを推奨します)。

character-set-server=utf8
default_authentication_plugin=mysql_native_password

入力が完了したら、
保存してvimを終了します。次の順番で、キーボードを操作します

  1. 「esc」キーを押す(insertモードを終了)
  2. 「:」キーを押す(vimでコマンドモードにする)
  3. 「w」を入力(write 書き込みの意味)
  4. 「q」を入力(quite 終了の意味)

ちなみに、保存しないでvimを終了するには、

  1. 「esc」キーを押す(insertモードを終了)
  2. 「:」キーを押す(vimでコマンドモードにする)
  3. 「q」を入力、続いて「!」を入力(保存しないで終了)

vimの使い方を知りたい場合

もし、vimの使い方をもう少し詳しく知りたい場合は、下記の動画を参照してください。

MySQLを起動します。

ターミナルに「mysql.server start」と入力してエンターキー。

$ mysql.server start
Starting MySQL
. SUCCESS!

mysql_secure_installation コマンドを実行

mysql_secure_installation コマンドを実行して、セキュリティ周りの初期設定をします。

ターミナルにmysql_secure_installation と入力してエンターキー
質問に回答をしていくと設定が完了します。
下記に、日本語でコメントを書いたので、参考にしてください。

途中でパスワードを設定するのですが、下記の、パスワードポリシーで設定を試してみてください。

$ mysql_secure_installation

Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?

Press y|Y for Yes, any other key for No: y 【← VALIDATE PASSWORD plugin をインストールするか。yesのyを入力してエンターキー】

There are three levels of password validation policy:

LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 0 【← パスワードポリシーはLOWに設定。必要に応じて強度の強いMEDIUM,STRONGを設定】
Please set the password for root here.

New password: 【← パスワードを入力してエンターキー】

Re-enter new password: 【← パスワードを再入力してエンターキー】

Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y 【← パスワード登録を進めるためにyを入力してエンターキー】
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y 【←無名ユーザを削除するか。yを押してエンターキー 】
Success.

Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y 【←root のログインをローカルからに制限するか? 】
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.

Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y 【← test データベースを削除するか】
- Dropping test database...
Success.

- Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y 【← 権限の変更を更新するか?】
Success.

All done!

※ パスワードポリシーはローカルPC上の学習環境ということもありLOWを設定しているのですが本番サーバ環境など、セキュリティがより求められる場面では、MEDIUMやSTRONGを設定するのが良いです。
※ 設定したパスワードは忘れないように管理しましょう。

MySQLにログイン

mysql にルートユーザーでログインしてみましょう。

ターミナルで次のように入力してエンターキー。

$ mysql -u root -p

mysqlコマンドで、-uでユーザーを指定。
ユーザー名は、root
-pで、パスワードを使ったログインを行う。
という意味になります。

パスワードを求められたら、mysql_secure_installationで設定したパスワードを入力します。

ちなみに、このように詰めてもOKです。

$ mysql -uroot -p

mysqlを操作するモードになりました。(SQLを入力して、実行することができます。)

mysqlサーバーからログアウトするには

exitと入力して、エンターキーを押します。

$ exit

これで、macのコマンドを受け付けるターミナルに戻りました。

MySQLの再起動

MySQLの再起動をして、設定を反映します。
次のように入力して、エンターキーを押します。

$ mysql.server restart

MySQLを終了するには、

次のように入力して、エンターキーを押します。

$ mysql.server stop

サーバにインストールしたMySQLは、常時起動するようにするのですが、
ローカル環境でMySQLの学習以外の作業もすると思いますので、
MySQLは、使う時に立ち上げて、使い終わったら、停止しておくのが良いと思います。

(復習)MySQLを再度立ち上げるには、

次のように入力して、エンターキーを押します。

$ mysql.server start

補足:

MySQL のステータス確認

次のように入力して、エンターキーを押します。

$ mysql.server status

起動している場合はこのように表示されます。
SUCCESS! MySQL running (13035)

停止している場合はこのように表示されます。
ERROR! MySQL is not running

おわり

この記事では、Macにhomebrewを使ってデータベースMySQL8.0をインストールする方法について学習しました。

無料プレビューを30分以上公開していますのでぜひご覧ください!

動画でプログラミング入門をしよう

オンライン学習サービスProglus(プログラス)でプログラミングを学び、創れる人になろう!

プレミアムプランを2週間無料体験しよう

今すぐ詳細を確認する

プログラミング入門ナビ編集部