MariaDBでデータベースを丸裸にする!?SHOW CREATE DATABASEコマンドの全貌

2024-04-02

MariaDB の SHOW CREATE DATABASE コマンドの解説

SHOW CREATE DATABASE コマンドは、指定されたデータベースの CREATE DATABASE ステートメントを表示します。これは、データベースの構造と設定を確認したり、データベースを別のサーバーに復元したりする際に役立ちます。

構文:

SHOW CREATE DATABASE database_name;

パラメータ:

  • database_name: 情報を取得したいデータベースの名前を指定します。

出力:

コマンドを実行すると、以下の情報が表示されます。

  • データベース名
  • データベースの文字コード
  • データベースの照合順序
  • データベースのオプション (デフォルト以外のもの)
  • データベースのテーブル

例:

SHOW CREATE DATABASE test;

出力例:

Database: test
CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci */

詳細:

  • /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci */:
    • /*!40100: データベースのバージョンを表します。
    • DEFAULT CHARACTER SET utf8mb4: データベースのデフォルトの文字コードを utf8mb4 に設定します。
    • COLLATE utf8mb4_general_ci: データベースのデフォルトの照合順序を utf8mb4_general_ci に設定します。
  • CREATE DATABASE: データベースを作成するステートメントです。
  • test: データベースの名前です。

補足:

  • SHOW CREATE DATABASE コマンドは、MariaDB 5.5 以降で使用できます。
  • このコマンドは、スーパーユーザー権限を持つユーザーのみ実行できます。


SHOW CREATE DATABASE コマンドのサンプルコード

データベースの構造と設定を確認する

SHOW CREATE DATABASE test;
Database: test
CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci */

この例では、test データベースの構造と設定を確認しています。出力結果から、データベースの文字コードは utf8mb4 、照合順序は utf8mb4_general_ci であることがわかります。

データベースを別のサーバーに復元する

SHOW CREATE DATABASE test > create_database_test.sql;

# 別のサーバーで

mysql -u root -p < create_database_test.sql;

この例では、test データベースを別のサーバーに復元しています。まず、SHOW CREATE DATABASE コマンドを使用して、データベースの CREATE DATABASE ステートメントをファイルに書き出します。次に、別のサーバーで mysql コマンドを使用して、ファイルをインポートします。

特定のオプションのみを表示する

SHOW CREATE DATABASE test \G

出力例:

*************************** 1. row ***************************
       Database: test
       Character Set: utf8mb4
       Collation: utf8mb4_general_ci
*************************** 2. row ***************************
       Option: innodb_file_per_table
       Value: ON

この例では、\G オプションを使用して、特定のオプションのみを表示しています。出力結果から、データベースの innodb_file_per_table オプションが有効になっていることがわかります。

テーブルの情報も含めて表示する

SHOW CREATE DATABASE test WITH TABLES;

出力例:

Database: test
CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci */

# テーブルの情報

この例では、WITH TABLES オプションを使用して、テーブルの情報も含めて表示しています。

SHOW CREATE DATABASE コマンドは、データベースの構造と設定を確認したり、データベースを別のサーバーに復元したりする際に役立ちます。上記のサンプルコードを参考に、さまざまな用途で使用してみてください。



SHOW CREATE DATABASE コマンドの代替方法

INFORMATION_SCHEMA データベースには、MariaDB サーバーに関するさまざまな情報が格納されています。SCHEMATA テーブルには、データベース名、文字コード、照合順序などの情報が含まれています。

SELECT * FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'test';

出力例:

SCHEMA_NAME | DEFAULT_CHARACTER_SET_NAME | DEFAULT_COLLATION_NAME
------------+--------------------------+-------------------------
test        | utf8mb4                   | utf8mb4_general_ci

mysqladmin コマンドは、MariaDB サーバーを管理するためのコマンドラインツールです。-D オプションを使用して、データベースの情報を出力することができます。

mysqladmin -u root -p -D test status

出力例:

Database: test
...
Character set: utf8mb4
Collation: utf8mb4_general_ci
...

MySQL Workbench は、MariaDB サーバーを管理するためのGUIツールです。データベースツリーでデータベースを選択して右クリックし、"DDL を表示" を選択すると、データベースの CREATE DATABASE ステートメントを表示することができます。

直接データベースファイルを確認する

データベースファイルは、通常 /var/lib/mysql/ ディレクトリに格納されています。データベースファイルはテキストファイルなので、エディタで開いて内容を確認することができます。

注意事項:

  • 上記の方法を使用する際は、スーパーユーザー権限を持つユーザーで実行する必要があります。
  • データベースファイルの内容を編集する場合は、注意が必要です。誤った編集を行うと、データベースが破損する可能性があります。

SHOW CREATE DATABASE コマンド以外にも、データベースの情報を確認する方法はいくつかあります。状況に合わせて、最適な方法を選択してください。




データベースで文字列を扱う!MariaDBの文字列データ型を徹底解説

MariaDB には、文字列データを格納するために使用できるいくつかのデータ型があります。それぞれのデータ型には、長所と短所があり、使用するデータ型は、格納するデータと、そのデータにどのようにアクセスするかによって異なります。MariaDB における主な文字列データ型は以下の通りです:



WEEK関数とSUBSTRING関数:週番号から年と週番号を抽出する

概要:WEEK関数は、以下の2つの形式で使用できます。返される週番号は、ISO 8601規格に基づいています。デフォルトの開始曜日は月曜日です。オプションで開始曜日を日曜日から土曜日まで指定できます。詳細:形式1: 日付のみを指定する場合、WEEK関数はその日付を含む週番号を返します。週番号は、1月1日が含まれる週を1週目とし、年を跨いでカウントされます。


MariaDB トランザクションタイムアウトのトラブルシューティング

MariaDBのトランザクションタイムアウトは、長時間実行されるトランザクションを自動的に中止する機能です。これは、データベースサーバーのロックを長時間占有してしまうような問題を防ぎ、全体の処理速度を向上させるために役立ちます。設定方法MariaDBのトランザクションタイムアウトは、以下の2つの方法で設定できます。


MariaDB の "SQL Statements & Structure" における "ST_CONTAINS" 関数:詳細解説と応用例

MariaDB の空間データ型である GEOMETRY に対して、ある形状が別の形状を含むかどうかを判定する関数です。つまり、包含関係を検証する際に用いられます。構文geometry1: 検証対象となる形状geometry2: 包含関係を検証する形状


情報世界の羅針盤:制約条件と知識で導くジェミニの回答

概要MariaDB の SHOW WSREP_STATUS ステートメントは、Galera Cluster と呼ばれる分散データベースシステムのステータス情報を表示します。Galera Cluster は、複数のノードで構成されるデータベースシステムであり、データの複製と同期を自動的に行います。



MariaDB の SET データ型:使いこなしてデータ管理を効率化

MariaDB の SET データ型は、複数の値をカンマ区切りで格納できる特殊なデータ型です。選択肢の集合を表す場合などに役立ちます。特徴最大64個の値を格納可能値は 文字列 または 数値格納順序は 保持されない重複した値は 許可されないNULL 値を格納可能


MariaDB 情報スキーマ COLUMNS テーブル:SQL ステートメントと構造をマスターしよう

COLUMNS テーブルは、以下の列を含むリレーショナルテーブルです。TABLE_CATALOG: テーブルが存在するデータベースの名前TABLE_SCHEMA: テーブルが存在するスキーマの名前TABLE_NAME: テーブルの名前COLUMN_NAME: 列の名前


MariaDBのSQL Statements & Structure: AVG関数を使いこなしてデータ分析をレベルアップ

構文:引数:column_name: 平均値を計算したい列名例:この例では、employees テーブルの age 列の平均年齢を計算します。AVG関数とGROUP BY:AVG() 関数は、GROUP BY 句と組み合わせて、グループごとの平均値を計算することができます。


初心者でも安心!MariaDBのEXCEPTでデータ操作をマスターしよう!

EXCEPT は、次の基本構文に従って使用されます。この例では、テーブル名1 と テーブル名2 の共通列のみを含む結果セットが返されます。EXCEPT は、次の規則に基づいて行を比較します。比較は、SELECT 句で指定された列に基づいて行われます。


MariaDB の Data Types における SET CHARACTER SET の徹底解説

文字コード: 文字をコンピュータ上で表現するための規則。UTF-8、latin1 など様々な種類が存在します。照合順序: 文字列の比較方法を定義。文字コード内でどの文字がどのように並ぶかを決定します。SET CHARACTER SET は、以下の役割を担います。