ekCraft's blogs

SE転向を目指すサンデープログラマーの備忘録

ローカル開発環境構築(MySQL編)+Workbench接続

社内研修用に手持ちのPC端末上に仮想のローカル開発環境(VM)を構築し、そこにMySQLをインストールして、Workbenchから接続する方法を模索していたので、備忘録+参照用に記載しておきます。

■環境

■必要なソフトウェアのインストール

  1. Vagrant www.vagrantup.com

  2. VirtualBox
    Oracle VM VirtualBox - Downloads | Oracle Technology Network | Oracle

  3. Workbench
    MySQL :: Download MySQL Workbench

WindowsMySQL Workbenchをインストールして実行するには、以下のライブラリがインストールされている必要があります。

ライブラリがインストールされていれば、ページ下部に進みOSを選択してDownloadをクリック
f:id:ekCraft:20180811144722p:plain

以下の画面が表示されれば、No thanks, just start my download.をクリック。ダウンロードされたインストーラの指示に従いインストールを行って下さい。 f:id:ekCraft:20180811151550p:plain

■ローカル開発環境(VM)の構築

今後仮想環境を複数作成する可能性を考慮して、仮想環境を括るディレクトVagrantをCドライブ直下に作成し、その下に今回作成する仮想環境のディレクトmysql_ubuntu1604を作成(名前はなんでもOK)

> mkdir C:\Vagrant\mysql_ubuntu1604

cdコマンドで移動

> cd C:\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

VMSSH接続

> vagrant ssh

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"
// パスワードを入力
$ 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
sudo init 6
// 再起動

MySQLインストール

sudo apt-get install mysql-server
// rootのパスワード設定

■よく使うコマンド

MySQLバージョン確認

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

MySQLにrootユーザでログイン

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

MySQLの状態確認

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

■Workbenchの設定

VagrantSSH接続中であればexitしておく
Workbenchを起動したらAdd Connectionsをクリックして以下画像のように設定 f:id:ekCraft:20180811145207p:plain

f:id:ekCraft:20180811145238p:plain

VM上のMySQLに接続できました。 f:id:ekCraft:20180811152507p:plain

■参考サイト

proengineer.internous.co.jp

※日本語化はかかる手間と得られる恩恵が見合わない気がするのでやりませんでした。