HomebrewでMacにMySQLをインストールしたときのメモ書きです。Homebrewでインストールした場合、シンボリックリンクの作成が必要になる場合があります。

環境

  • macOS Mojave 10.14.4
  • Homebrew 2.1.0
  • MySQL 8.0.15

MySQLをインストール

以下のコマンドを実行します。

$ brew install mysql

以下のコマンドを実行してインストールされたことを確認します。

$ mysql --version
mysql  Ver 8.0.15 for osx10.14 on x86_64 (Homebrew)

このとき、以下のように表示された場合、シンボリックリンクを作成する必要があります。

$ mysql --version
-bash: mysql: command not found
$ brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

Warning: You have unlinked kegs in your Cellar
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on
those kegs to fail to run properly once built. Run `brew link` on these:
  mysql

シンボリックリンクの作成

以下のコマンドを実行して、シンボリックリンクを作成します。

$ brew link mysql
Linking /usr/local/Cellar/mysql/8.0.15... 83 symlinks created

このとき、以下のように表示された場合、/usr/local/includeディレクトリを作成する必要があります。

$ brew link mysql
Linking /usr/local/Cellar/mysql/8.0.15... 
Error: Could not symlink include/mysql
/usr/local/include is not writable.

/usr/local/includeディレクトリの作成

Homebrewは/usr/local/includeにシンボリックリンクを作成するため、あらかじめディレクトリを用意しておく必要があります。
このディレクトリがない場合、brew doctorを実行した際、以下のようなWarningも同時に出ていたはずです。

Warning: The following directories do not exist:

以下のコマンドを実行して、/usr/local/includeディレクトリを作成します。

$ ls -d /usr/local/include
ls: /usr/local/include: No such file or directory
$ sudo mkdir -p /usr/local/include
$ sudo chown -R $(whoami) /usr/local/include
$ ls -d /usr/local/include
/usr/local/include

ディレクトリ作成後、再度mysql –versionを打ち、インストールされたことを確認します。

MySQLの起動確認

MySQLを起動して、接続できることを確認します。

$ mysql.server start
Starting MySQL
.. SUCCESS! 
~ $ mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.15 Homebrew

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

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>