プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • MySQL
  • 【MySQL】基本、初期設定(DB作成等)
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【MySQL】基本、初期設定(DB作成等)

08.01

  • miyabisan2
  • コメントを書く

この記事は3分で読めます

特徴

  • 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等のエンタープライズ製品をサポートします。

スポンサーリンク
  • 2020 08.01
  • miyabisan2
  • コメントを書く
  • MySQL
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2020 08.01

    【MySQL】データ型の種類

  2. 2020 01.18

    【Docker】MySQLのコンテナに接続して基本操作する手順(Railsの場合)

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【Ruby on Rails】空文字、nilチェックの…

【MySQL】データ型の種類

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • AngularJS
  • API
  • AWS
  • C++
  • CSS
  • cursor
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Figma
  • Git
  • GitLab
  • GraphQL
  • gRPC
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 副業
  • 未分類
  • 業務知識
  • 生成AI
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー