前回記事:MySQLでユーザを作成し、権限を設定する方法では、MySQL Command Line Clientを使用してroot以外のユーザを追加し、権限を設定する方法についてご紹介しました。今回は同じくMySQL Command Line Clientを使用し、データベースを作成&削除する方法をご紹介したいと思います。
目次
1.1 データベースを作成するコマンド
1.2 コマンド実行結果
1.3 データベース作成を行うユーザに設定が必要な権限
2.1 データベース一覧を表示するコマンド
2.2 コマンド実行結果
2.3 データベース一覧表示を行うユーザに設定が必要な権限
3.1 ユーザの権限を変更するコマンド
3.2 コマンド実行結果
3.3 データベース作成を行うユーザに設定が必要な権限
1.新規データベースの作成
1.1 データベースを作成するコマンド
新しくデータベースを作成するためには、CREATE DATABASE文を使用します。
CREATE DATABASE [任意のデータベース名];
<注意点>
・データベース名には、半角64文字までの半角英数字および「$」「_」などの使用が可能です。
・Windowsの場合であれば、大文字小文字の区別はありません。
・頭に数字を使用することも可能ですが、引用符で囲まれていない場合は全てを数字のみで登録することはできないようになっています。
・すでにあるデータベースと重複する名前で作成しようとした場合、エラーになり作成できません。
1.2 コマンド実行結果
データベース作成コマンドが成功すると、次のように表示されます。
1.3 データベース作成を行うユーザに設定が必要な権限
CREATE DATABASE文を使用するには、「CREATE権限」を付与されたユーザである必要があります。CREATE権限を付与したユーザを作成するには、次のようなコマンドで実現することができます。
GRANT CREATE ON *.* TO 'ユーザ名'@'ホスト名' IDENTIFIED BY 'パスワード';
その他必要な作業に応じて、設定する権限を追加して下さい。権限設定について詳しくは、以下の関連記事をご覧下さい。
2.作成したデータベースの表示
2.1 データベース一覧を表示するコマンド
データベースが作成されたかどうかを確認するには、存在するデータベースの一覧表示が有効です。データベース一覧は、SHOW DATABASES文を使用します。
SHOW DATABASES;
2.2 コマンド実行結果
データベース一覧表示を実行すると、次のように表示されます。
2.3 データベース一覧表示を行うユーザに設定が必要な権限
SHOW DATABASES文を実行するためには、権限の設定が必要です。
GRANT SHOW DATABASES ON *.* TO 'ユーザ名'@'ホスト名' IDENTIFIED BY 'パスワード';
権限が設定されていないデータベースについては、一覧からは除外して表示されます。
3.データベースの削除
3.1 データベースを削除するコマンド
データベースを削除するには、DROP DATABASE文を使用します。
DROP DATABASE [任意のデータベース名];
データベース削除コマンドが成功すると次のように表示され、一覧から削除されました。
CREATE DATABASEと同様に、DROP権限を付与したユーザを作成したい場合は次のようなコマンドで実現することができます。
GRANT DROP ON *.* TO 'ユーザ名'@'ホスト名' IDENTIFIED BY 'パスワード';
4.データベースのエクスポートとインポート
4.1 データベースをエクスポート(dump取得)するコマンド
バックアップやサーバ移行の際に使用するdump(ダンプ)ファイルを取得するには、次のように記述します。
MYSQLDUMP -u [ユーザ名] -p [パスワード名] [データベース名] > [バックアップファイル名].sql
(※不等号は半角に)
4.2 データベースをインポートするコマンド
外部にエクスポートしたデータベースをインポートするには、次のように記述します。
MYSQL -u [ユーザ名] -p [パスワード名] [データベース名] < [バックアップファイル名];
(※不等号は半角に)
データベースのインポートおよびエクスポートについて、詳しくは以下の関連記事をご覧下さい。
5.まとめ
次回はデータベースの文字化け対策について、詳しくご紹介したいと思います。よければ合わせてご覧下さい。