1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Macでmysql5.7をインストールする方法

Last updated at Posted at 2024-10-02

Homebrewを使ってmysql@5.7がインストールできない・・・

開発環境を構築する際に,mysql5.7をインストールしようとすると以下のようなエラーが

Error: mysql@5.7 has been disabled because it is not supported upstream! It was disabled on 2024-08-01.

どうやらサポート切れで2024年8月1日以降Homebrewを使ってmysql5.7をインストールできなくなっているようです。
ただ、そうはいっても古いシステムなどまだmysql5.7をインストールしないといけない場合もありそう。

解決策

まだインストールできなくなって日が浅いためか、なかなか解決策が見つからない・・・

ソースコードからbuildしてインストールする方法

いまのところこれが唯一macにmysql5.7を入れる方法らしい。
参考:
https://zenn.dev/noraworld/articles/legacy-mysql-mac

必要なライブラリのインストール

以下のコマンドを実行して必要なライブラリをインストールします。
cmakeとかはコードからbuildするときに必要

xcode-select --install
brew install cmake git ncurses openssl

以下から5.7.44をインストール
https://downloads.mysql.com/archives/community/
Operating SystemはSource Code、OS VersionはAll Operating Systems (Generic) (Architecture Independent)を指定します。

そして今ダウンロードしたファイルをホームディレクトリに移動し、以下のコマンドを実行

tar zxvf mysql-boost-VERSION.tar.gz

これでアーカイブが展開されmysql-5.7.44というフォルダが生成される。

インストール

自分の場合はホームディレクトリに展開したので、以下のフォルダをホームディレクトリに作成。
インストール時に生成されるフォルダやファイルを格納するためのものらしい。

mkdir mysql-home
mkdir boost

先ほど展開したフォルダに移動

cd mysql-5.7.44

以下のコマンドを実行

cmake -DCMAKE_INSTALL_PREFIX=/path/to/mysql-home \
      -DDOWNLOAD_BOOST=1                         \
      -DWITH_BOOST=/path/to/boost                \
      -DDEFAULT_CHARSET=utf8                     \
      -DDEFAULT_COLLATION=utf8_general_ci        \
      -DWITH_INNOBASE_STORAGE_ENGINE=1

次に以下のコマンドを実行

make
make install

おそらくここでかなり時間がかかります。自分の場合は15分くらいかかりました。

データの初期化

mysql-homeディレクトリに移動します

cd mysql-home

そこに以下のディレクトリを作成、ここにデータが書き込まれていくらしい

mkdir mysql-files

所有者と権限を変更

sudo chown mysql:mysql mysql-files
sudo chmod 750 mysql-files

そして以下のコマンドを実行

bin/mysqld --initialize --user=mysql

ここで以下のように初期のパスワードが発行されるので保存しておきます。

2024-09-03T06:30:15.306122Z 1 [Note] A temporary password is generated for root@localhost: AyVCZ+whY9R(

ここで先ほどのbin/mysqldなどはこのディレクトリ以外からだとこのファイルのフルパスを打たないといけないため、とても面倒です。
どこからでもmysqlコマンドを使えるようにするため、パスを通します。

echo 'export PATH="/usr/local/opt/mysql@5.7/bin:$PATH"' >> ~/.zshrc

普通にhomebrewでインストールする際は上のようなコマンドで問題ないのですが、今回はこれらがmysql-homeに作成されているため、以下のように変更する必要があります。

echo 'export PATH="/{mysql-homeがある場所までのパス}/mysql-home/bin:$PATH"' >> ~/.zprofile

設定を反映させる

source ~/.zprofile

mysql --versionで確認して、version情報を取得できれば完了です。

mysqlへのログイン

以下のコマンドでログイン

mysql -u root -p

passwordを求められますが、先ほど取得した初期パスワードを入力。
mysql>となったら以下のコマンドを実行し、初期パスワードを任意のパスワードに変更してください。

SET PASSWORD = PASSWORD('pass');

最後に以下のコマンドでホストとユーザ情報を確認し、問題なく表示されれば完了です。

SELECT Host, User FROM mysql.user WHERE User = 'root';
+-----------+------+
| Host      | User |
+-----------+------+
| localhost | root |
+-----------+------+
1 row in set (0.01 sec)

最後に

情報が少なく導入に苦労した。
古い技術を使用する上でのリスクを認識することができた。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?