環境構築　008　MySQL 初期セットアップ + Eclipse DB Viewer プラグインから接続確認


#1. 概要

インストールしたMySQLを使って
　・新しいユーザの作成 
　・新しいデータベースの作成
　・新しいユーザに権限付与
　・新しいテーブルの作成
を行ったあと、
Eclipse の DB Viewerプラグインから、MySQLサーバーに、新しいユーザで、新しいデータベース、新しいテーブルに接続する

#2. MySQL Workbench 起動

スタートメニューから、「**MySQL Workbench 6.3 CE**」をクリック

![mysql-ini-001.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/208edb22-fac8-d8fd-9eb4-7be28061f0a3.png)

「**Local instance MySQL 57**」をクリック、『*root*』ユーザで接続

![mysql-ini-002.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/40f3050b-0e3c-f610-22c0-ea70511f350f.png)

『*root*』ユーザの『*password*』を入力して、「**OK**」をクリック

![mysql-ini-003.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/ce531206-3945-6699-ab0c-1b4ec133dbda.png)

#3. 新しいユーザ、新しいデータベースの作成と権限付与

『*root*』ユーザでログインして、CREATE USER 文　で新しいユーザを作成

`CREATE USER 'ユーザ名'@'接続するホスト名' IDENTIFIED by 'パスワード文字列' ;`

![mysql-ini-004.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/a67a1bff-b612-d0d7-6454-d54e43d8cd95.png)

『*root*』ユーザでログインして、ユーザが作成されたのを確認

`SELECT * FROM mysql.user ;`

![mysql-ini-005.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/c27fcf9a-a50e-2714-c9dc-2924812a83b0.png)

『*root*』ユーザでログインして、ユーザの権限を確認

`SHOW GRANTS FOR 'ユーザ名'@'接続するホスト名' ; `

結果に、下記が出力される

GRANT USAGE ON *.* 'ユーザ名'@'接続するホスト名' 

'ユーザ名'@'接続するホスト名'には、全てのデータベースに対して権限が無い状態を表している

![mysql-ini-006.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/fb204a2e-9b4e-b027-b0b5-284009a6e4da.png)

『*root*』ユーザでログインして、CREATE DATABASE 文　で新しいデータベースを作成

`CREATE DATABASE データベース名 ;`

![mysql-ini-007.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/d1ccf561-3148-6469-f8b2-d9943cefec63.png)

『*root*』ユーザでログインして、'ユーザ名'@'接続するホスト名'に、新しいデータベースに対して全ての権限を付与する

`GRANT ALL ON データベース名.* 'ユーザ名'@'接続するホスト名' ; `

![mysql-ini-008.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/2e6a6248-973f-3911-e467-3c6d8c9f5ae7.png)

『*root*』ユーザでログインして、ユーザの権限を確認

`SHOW GRANTS FOR 'ユーザ名'@'接続するホスト名' ; `

結果に、下記が追加出力される

GRANT ALL PRIVILEGES ON 'データベース名'.* 'ユーザ名'@'接続するホスト名' 

'ユーザ名'@'接続するホスト名'には、'データベース名' に対して全ての権限が付与されていることを表している

![mysql-ini-009.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/f4c8440f-091d-c894-d883-23f9605343fb.png)

#4. MySQL接続確認とテーブル作成

MySQL Workbench を再起動、画面中程の、MySQL Connections の「**＋**」をクリック

![mysql-prac-001.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/a3a0da59-f84f-be08-8fbd-847fb841b12b.png)

Setup New Connection 画面が表示されたら、下記の項目を入力し、「**Test Connection**」をクリック

　・Connection Name：任意の名称
　・Connection Method：Standard(TCP/IP)
　・Hostname：接続先のMySQLのホスト名 or IPアドレス（*localhost* or *127.0.0.1*）
　・port：接続先のMySQLのポート番号 （*3306*）
　・UserName：接続先のMySQLのユーザ名　（*prac*）

![mysql-prac-002.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/e7f2f499-4e20-393d-e6ed-c6824900141f.png)

UserName で指定したユーザの password を入力し、「**OK**」をクリック

![mysql-prac-003.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/b29f4576-d490-eb30-f2c8-56223a6011db.png)

Successfully made the MySQL connection が表示されたら、「**OK**」をクリック

![mysql-prac-004.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/e3876a38-b042-4ad1-809b-eb3e533ccfa9.png)

MySQL Connections に新しく追加された接続先情報カード「**prac**」をクリック

![mysql-prac-005.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/f5076c8f-41e4-a053-2baa-91777469d4b8.png)

接続が成功すると、NavigatorエリアのSCHEMASに、UserNameで指定したユーザが権限を持っているデータベースが表示される

![mysql-prac-006.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/56fdfe77-e05f-b71d-7e60-42a08cd4a76f.png)

USE文を使用して、データベースに接続する

`use データベース名 ;`

CREATE TABLE 文を使用してテーブルを作成、INSERT文を使用して、レコードを作成

![mysql-prac-007.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/c521e7c9-f802-3996-8efe-1f02058c0a77.png)

SELECT文を使用して、作成したレコードを確認

![mysql-prac-008.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/0a380ad7-433f-6d41-c9a9-2e24e177d701.png)

![mysql-prac-009.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/fa601e87-7b63-0901-8d28-15a4e261edc1.png)

#5. DB Viewerプラグインから接続確認

Eclipseのメニューバーから[ウィンドウ]-[パースペクティブ]-[パースペクティブを開く]-[その他]をクリック

![eclipse-dbv-001.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/5b15cd0c-f4df-558e-246d-0b740820a2b8.png)

パースペクティブを開く画面で、「**DBViewer**」をクリック

![eclipse-dbv-002.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/9a4abd51-5629-ded8-dc49-477979ae991e.png)

DBViewer のパースペクティブが開いたら、『DBツリー・ビュータブ』の接続アイコンをクリック

![eclipse-dbv-003.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/f7c0f3a9-8377-63e6-d9a4-2062e4446417.png)

![eclipse-dbv-004.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/b8b70832-b42e-5b50-f028-5c008e50eb39.png)

データベース定義画面の、『データベース定義名』に任意の文字列を入力、JDBCドライバを追加するのに、「**ファイルの追加**」をクリック

![eclipse-dbv-005.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/85035e4e-458f-a519-b983-4dcfe7e66093.png)

ローカルPC上にある、JDBCドライバを指定

![eclipse-dbv-006.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/77039a3c-eece-3526-4611-b572557a40e5.png)

JDBCドライバの指定後、「**次へ**」をクリック

![eclipse-dbv-007.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/21da004f-b633-ea64-f25a-4ac01d4b6ac3.png)

接続文字列、接続ユーザ、接続パスワードを入力し、「**テスト接続**」をクリック

　・接続文字列：　jdbc:mysql://接続サーバ:ポート番号/接続データベース名
　　　　　　　　　　*jdbc:mysql://localhost:3306/prac*
　・接続ユーザ：　接続ユーザ名
　　　　　　　　　　*prac*
　・接続パスワード： 接続ユーザ名のパスワード

![eclipse-dbv-008.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/a34777f8-d77d-9e46-ba11-c31587ffe2d6.png)


> java.sql.SQLException: The server timezone value 'UTC' is unrecognized or represents more than one timezone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc timezone value if you want to utilize timezone support.

上記のエラーが発生したので、接続文字列に serverTimezone の設定を追加
JDBCドライバの不具合らしいが・・・。 

　・接続文字列：　jdbc:mysql://接続サーバ:ポート番号/接続データベース名
　　　　　　　　　　*jdbc:mysql://localhost:3306/prac?serverTimezone=UTC*

![eclipse-dbv-009.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/277835e8-71b1-53f8-bd11-1e9cc91f00d9.png)

接続に成功したら、「**完了**」をクリック

![eclipse-dbv-010.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/32b0060d-57c4-7cfa-411d-216874bd77de.png)

『DBツリー・ビュータブ』に、接続ユーザ名で指定したユーザが権限を持っているデータベースが表示される

![eclipse-dbv-011.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/21b8c03e-e48a-fd90-2bf0-84b374d90ffa.png)

テーブルを指定して、登録されているレコードを確認

![eclipse-dbv-012.PNG](https://qiita-image-store.s3.amazonaws.com/0/244997/016e021b-66ec-d304-c60c-08507295c9fe.png)

------

[参考サイト]
DBOnline 初心者の方でも分かりやすい学習サイト> MySQL <https://www.dbonline.jp/mysql/>