仮想DBサーバ構築（Mac編）+MySQLインストール+Sequel Proから接続

手持ちのMac端末上に仮想のDBサーバ(ubuntu16.04)を構築し、MySQLをインストールして、更にMac上からSequel Proを通して接続する方法を備忘録＋参照用に記載します。  

### ■環境

![スクリーンショット 2020-08-01 13.57.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/94953/61521686-146a-53b0-f7ec-24df45889935.png)

* Mac mini (Late 2014) macOS Catalina バージョン 10.15.6
* Oracle VM VirtualBox 6.1.12
* Vagrant 2.2.9

### ■構築する仮想マシン(VM)
* Ubuntu 16.04.6 LTS (GNU/Linux 4.4.0-186-generic x86_64)
* mysql  Ver 14.14 Distrib 5.7.31, for Linux (x86_64)

### ■必要なソフトウェアのインストール
Macに下記のソフトウェアをインストールしておく。

1. Vagrant
https://www.vagrantup.com/downloads.html
ダウンロードしたdmgイメージを展開し、`vagrant.pkg`をダブルクリックするとインストーラが起動するので、指示に従ってインストールを完了する。

2. VirtualBox
http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html?ssSourceSiteId=otnjp
ダウンロードしたdmgイメージを展開し、`VirtualBox.pkg`をダブルクリックするとインストーラが起動するので、指示に従ってインストールを完了する。

3. Sequel Pro
https://sequelpro.com/download
ダウンロードしたdmgイメージを展開し、アプリケーションフォルダに移動する。

これらのソフトウェアがインストール済みの前提で手順を書いていきます。そもそもこいつらってなんなの？っていうのはここでは詳しく書きませんので、別の記事を参照してください。

### ■仮想DBサーバ(Ubuntu16.04)の構築
今後仮想環境を複数作成する可能性を考慮して、仮想環境を括る”Vagrant”をHomeディレクトリ直下に作成し、その下に今回作成する仮想環境のディレクトリを作成

```
$ mkdir -p ~/Vagrant/mysql_ubuntu1604
```

cdコマンドで移動

```
$ cd ~/Vagrant/mysql_ubuntu1604
```

Vagrantfile の作成

```
$ vagrant init bento/ubuntu-16.04
```

Vagrantfileの編集　　
作成されたVagrantfileをテキストエディタで開き、35行目、以下の部分のコメントアウトを外す

```
config.vm.network "private_network", ip: "192.168.33.10"
```

VMの起動

```
$ vagrant up
```

VMへSSH接続

```
$ vagrant ssh
```

下記のようなコマンドが返ってきたら、無事VMにSSH接続できています。
![スクリーンショット 2020-08-01 12.53.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/94953/698c901e-c11b-0cf6-8cdf-371fd21fa8b3.png)


### ■Ubuntuの日本語化

```
$ sudo apt-get -y install language-pack-ja-base language-pack-ja ibus-mozc
```


```
$ localectl set-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja"
// パスワードを入力 vagrantの初期パスワードは"vagrant"
```


```
$ source /etc/default/locale
```


```
$ echo $LANG
ja_JP.UTF-8
```


### ■Ubuntuの諸々アップデート
```
sudo apt-get update && sudo apt-get -y upgrade && sudo apt-get -y dist-upgrade && sudo apt-get -y autoremove && sudo apt-get -y autoclean
```

途中で次のような画面になったら、「install the package maintainer’s version」を選択する。
![スクリーンショット 2020-08-01 13.01.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/94953/ab72c159-3bc1-7db0-c56e-2d50ff6b3856.png)


```
sudo init 6
// 再起動
```

### ■MySQLインストール
再起動実行後、SSH接続が切れるので再度`vagrant ssh`して、次はMySQLのインストールを進めていきます。

```
sudo apt-get install mysql-server
```

rootユーザーのパスワードを設定するよう求められるので、パスワードを設定。
![スクリーンショット 2020-08-01 13.12.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/94953/701dda0b-10a5-f2ac-fc93-5c37b7251767.png)
上記Enter後、パスワードの確認を求められるので設定したパスワードを再度入力。

### ■よく使うコマンド
MySQLバージョン確認

```
$ mysql --version
mysql  Ver 14.14 Distrib 5.7.31, for Linux (x86_64) using  EditLine wrapper
```

MySQLにrootユーザでログイン

```
$ mysql -u root -p
// パスワードを入力
```

MySQLの状態確認

```
$ mysqladmin ping -u root -p
Enter password:
mysqld is alive
```

### ■Sequel Pro 接続情報の設定
VagrantでSSH接続中であればexitしておく。exitしてもVMは止めない限り裏でずっと動いているのでDBサーバを使う作業が終わったら`vagrant halt`しておくのを忘れずに。vagrantの詳しい使い方はここでは触れないので別の記事を参照してください。

Sequel Proを起動して、接続情報を画像のように入力。
![スクリーンショット 2020-08-01 13.35.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/94953/1cddaa12-9850-a8dc-7f29-7bbfa36acdf1.png)
※パスワードはMySQLのインストール時に設定したパスワード。
　SSHパスワードはvagrantユーザーのパスワード。

VM上のMySQLに接続できました。
![スクリーンショット 2020-08-01 13.35.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/94953/4ba5e818-eaee-4923-b5c3-768dc02daedb.png)

過去にWindows10でも似たようなことやってるのでWindowsの人はこっちを見てください。
https://qiita.com/ekCraft/items/3c802f684824e5765515