macへのMySQLダウンロード

<h1>前提</h1>
<ul>
 <li>Webアプリ開発のため、色々と勉強中の初心者です。</li>
 <li>色々と参考にしながら、少しずつトライ&エラーを繰り返しています。</li>
　　<li>今回も色々と参考にしながら進めていたものの、エラーが出てしまい、途中でつまづいてしまったので、備忘録がてら記録を残します。</li>
 <li>自分の学びのアウトプット用の投稿ですが、同じく初心者の方の参考に少しでもなれば幸いです。<br>
 （ただし、間違えている点もあるかもしれませんので、他の文献等も参考にしながら作業を行ってください。）</li>
　<li>homebrew*を使ってインストールしていきます。</li>
* パッケージ（実行ファイルやライブラリなどを一つのファイルとしてまとめているもの）のインストール（アンインストール）作業を一元的管理する、パッケージ管理システムの一種。要は、「関連するファイルを一括で簡単にインストールできるYO！」ってこと？

</ul>

<h1>環境</h1>
<ul>
 <li>hardware:Macbook Pro(M1 pro)</li>
 <li>OS:Monterey Version12.3</li>

</ul>

<h1>ダウンロードの手順</h1>
<ol>
 <li>homebrewのインストール</li>
 1-1. ターミナルを開く<br>
　　スポットライトから探す（Command(⌘)とスペースバーを同時押し）<br>
![スクリーンショット 2022-03-16 13.14.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/341009/ddbc4e85-d853-3d69-0521-698af0e6ebdd.png)
<br>

　または、launchpadから探す<br>
![スクリーンショット 2022-03-16 13.14.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/341009/578bcb66-07cc-929f-d2a3-2972715399f5.png)

1-２. 以下のコマンドを入力してReturn（Enter）キーを押す
```
brew -v
```

以下の表示が出たら、macにインストールされていないので、1-3へ
```
zsh: command not found: brew
```

一方、以下の表示が出た場合は、すでにインストール済みなので、２へ進む
```
Homebrew 3.4.2
```
※数字の箇所は、バージョンによって変わります。

1-３. homebrewをインストール（以下のコマンドを入力してReturn（Enter）キーを押す）
```
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```
![スクリーンショット 2022-03-16 13.48.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/341009/3cb63e3d-cf9c-fc2a-e6e3-acf9c9e01126.png)

1-4. 以下が表示されたらReturn（Enter）キーを押す
```
Press RETURN to continue or any other key to abort:
```

1-５. 以下のような表示が出たらインストール終了
```
==> Installation successful!

==> Homebrew has enabled anonymous aggregate formulae and cask analytics.
Read the analytics documentation (and how to opt-out) here:
  https://docs.brew.sh/Analytics
No analytics data has been sent yet (nor will any be during this install run).

==> Homebrew is run entirely by unpaid volunteers. Please consider donating:
  https://github.com/Homebrew/brew#donations

==> Next steps:
- Run brew help to get started
- Further documentation:
    https://docs.brew.sh

？？？ ~ %
```
※最後の「？？？」の部分は、個人情報（？）なので、意図的に変更しています。

1-６. 念のため、1-２と同じコマンド（`brew -v`）でhomebrewがインストールされたか確認
以下のような表示であれば、インストール無事完了
```
Homebrew 3.4.2
```
※数字の箇所は、バージョンによって変わります。

```
zsh: command not found: brew
```
と出てしまう場合は、エラーメッセージがないか探してください。
私の場合は、以下のようなメッセージがありました。
指示通りに、２つのコマンド（`echo ~`と`eval ~`）を実行し、再度`brew -v`で確認したところ、無事、上の表示になりました。
```
- Run these two commands in your terminal to add Homebrew to your PATH:
    echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ？？？
    eval "$(/opt/homebrew/bin/brew shellenv)"
```
※「？？？」の部分は、個人情報（？）なので、意図的に変更しています。


 <li>MySQLのインストール</li>
 2-1. 以下のコマンドで、MySQLがすでにインストールされていないか確認<br>

```
mysql --version
```
以下の表示が出たら、macにインストールされていないので、２−２へ
```
zsh: command not found: mysql
```

一方、以下のような表示が出た場合は、すでにインストール済みです。おつ！
```
mysql  Ver 14.14 Distrib 5.7.37, for osx10.17 (x86_64) using  EditLine wrapper
```
※数字の箇所は、バージョンによって変わります。

 ２−２. 以下のコマンドで、MySQLをインストール<br>

```
brew install mysql@5.7
```
インストールが開始されると、ダラダラと長い表示が続きます。

２−３. パスの設定<br>

インストールが終わったら、以下の文を探す。
![スクリーンショット 2022-03-16 15.38.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/341009/ee43801b-f6a7-132c-4dbe-25c731f0837c.png)

青い部分（`echo ~`）をコピーぺして実行
```
echo 'export PATH="/opt/homebrew/opt/mysql@5.7/bin:$PATH"' >> ~/.zshrc
```
続けて以下を実行
```
source ~/.zshrc
```
※「~/.zshrc」部分は、上のコマンド（`echo ~ >> ~/.zshrc`）の「>>」以降と同じになるようにする

２−4. 念のため、２−１と同じコマンド（`mysql --version`）でMySQLがインストールされたか確認
以下のような表示であれば、インストール無事完了
```
mysql  Ver 14.14 Distrib 5.7.37, for osx10.17 (x86_64) using  EditLine wrapper
```

２−５. パスワードの設定
以下を実行する
```
mysql_secure_installation
```

以下の表示が出たら、任意のパスワードを設定する。
```
Please set the password for root here.

New password: 

Re-enter new password: 
```
※「Re-enter　〜」では、「New password:」と同じパスワードを入力

`All done! `と表示されたら、終了です。

なお、`mysql_secure_installation`から`All done!`までの間に以下のような質問をされます。
・VALIDATE PASSWORD PLUGINという強固なパスワード設定を助けるプラグインを導入するか？
・anonymous という匿名用ユーザーを削除するか？
・リモートを使って、rootユーザーでアクセスすることを禁止するか？
・testという名称のデータベースを削除するか？
など。
全て、yes(y+return)かno（return）で解答します。

本番での運用を考えたら、セキュリティを高く設定する（全てyes）が良いのだと思いますが、参考にするものによっては、作業を簡単にするため、全てnoで進めるよう指定されることもあります。
これらは、各自の状況に応じて設定していただく必要があるかと思います。

</ol>

以上。