特徴
- OracleやPostgreSQLと並び世界で最も利用されているDBの一つです。
- 現在はOracleが運用していて信頼性が高いです。
なぜMySQLがよく利用されるのか?
- Oracleが運用していて信頼性が高いため。
- 世界中で一般的によく利用されているから。
- ユーザーコミュニティが多く情報やツールが充実しているから。
- マルチプラットフォームで様々な環境で動くから。
- バージョンアップが簡単だから。
エディションについて
二つのエディションがあります。
- コミュニティ版
- 商用版
コミュニティ版
- 無料で利用可能です。
- オープンソースで存在する巨大なコミュニティがありサポートを享受できます。
- 小さな会社の小規模システム程度であればこちらで十分です。
商用版
- 有料で利用できる高性能なバージョンです。
- Oracleからテクニカルサポートを利用できます。
- セキュリティも高いです。
- 大きな会社で大規模システムを扱うならこちらを選択するのはありでしょう。
バージョンについて
今は8が出ていますが、2020年8月現在、現場で最もよく使われているのはその一つ前のバージョンの5.7になります。
5.7
- 長く使われており、互換性のあるツールや情報が多いです。
- 多くの企業が5.7を使っている。
8.0
- 5.7に比べて2倍ほど高速に動作します。
- セキュリティ、開発の生産性も向上しています。
- 5.7とは互換性が低いのが難点です。
ストレージエンジン
MySQLの中でもさらに様々なストレージエンジンを利用することができます。
- MEMORY
- MRG_MYISAM
- CSV
- FEDERATED
- PERFORMANCE_SCHEMA
- MyISAM
- InnoDB
- BLACKHOLE
- ARCHIVE。
主に人気なのは「MEMORY」や「MyISAM」、「InnoDB」になります。AWSで提供されているRDSでは基本的には「InnoDB」を使うことが推奨されています。
InnoDBの特徴
豊富なトランザクション機能を提供してくれます。
データベースの作成
DBを作成
1 |
CREATE DATABASE DB名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; |
オプション
設定値 | 説明 |
---|---|
DEFAULT CHARACTER | デフォルトの文字コードです。UTF-8を使用するのが一般的でしょう。 |
COLLATE | 照合順序(文字列の比較方法)を指定します。サンプルは、「utf8(UTF8で)_general(多言語)_ci(大文字と小文字を区別しない)」となります。 |
作成されたかチェック
下記コマンドで作成されたデータベースを確認できます。
1 |
SHOW DATABASES; |
ユーザーの作成
SQL
1 |
CREATE USER 'ユーザー名'@'%' IDENTIFIED BY 'パスワード'; |
オプション
オプション名 | 説明 |
---|---|
'ユーザー名'@'%' | 「@」は接続元ホストを示します。「%」はどのホストでもOKという意味になります。 |
IDENTIFIED BY パスワード | 接続時のパスワードを指定します。 |
作成したユーザーに権限の設定
1 |
GRANT ALL ON DB名.* TO 'ユーザー名'@'%'; |
オプション
オプション名 | 説明 |
---|---|
ALL | 全ての権限を付加する。 |
DB名.* | 指定したDB名の全てのテーブルという意味になります。 |
TO 'ユーザー名'@'%'; | 作成したユーザーに権限を付与する。 |
設定反映
GRANTコマンドの設定を反映させたい場合は下記コマンドを実行します。
1 |
FLUSH PRIVILEGES; |
確認
ユーザーの作成結果を確認できます。
1 |
select user,host from mysql.user; |
MySQL接続確認
rootで接続していると思うので一旦ログアウトします。
1 |
exit |
MySQLに接続します。
1 |
mysql -h ホスト名 -u 作成したユーザー名 -p |
MySQL Workbench
MySQL Workbenchには主に下記のような機能があります。
SQL開発
DBサーバーへの接続や管理、SQLクエリの実行ができます。
Query
SQLを実行できます。
Action Output
どのような操作を行ったかが時系列で表示されます。
Navigeter/MANAGEMENT
Server Status
サーバーの管理等ができます。
Client Connection
どのアカウントで接続しているか表示できます。
User and Privileges
ユーザーのパスワードの再設定等を行うことが可能です。
Status and System Variables
システムの状況について見ることができます。ログであるとか。
Data Export
データのエクスポートを行えます。
Data Import/Restore
データのインポートを行えます。
Navigeter/INSTANCE
RDSを使った場合は設定は不要になります。
Navigeter/PERFORMANCE
ダッシュボード形式でパフォーマンス状況を一覧形式で見ることが可能です。パフォーマンスのレポートも作ることが可能です。
Schema
Tables、Views、ストアド、ファンクションを作っていれば閲覧できます。
データモデリング
グラフィカルにテーブルの作成や編集ができます。
サーバーの管理
サーバーインスタンスの作成、管理ができます。ER図等も作成することが可能です。
データ移行
PostgreSQLからMySQLに移行ができます。
エンタープライズサポート
MySQL Enterprise BackupやMySQL Audit等のエンタープライズ製品をサポートします。
この記事へのコメントはありません。