目次:
MySQLデータベースサーバーを管理する場合、最も一般的なタスクの1つは、環境に精通することです。 これには、サーバー上にあるデータベースの一覧表示、特定のデータベースのテーブルの表示、ユーザーアカウントとその権限に関する情報の取得などのタスクが含まれます。
このチュートリアルでは、コマンドラインを使用してMySQLまたはMariaDBサーバーのすべてのデータベースを表示する方法について説明します。
MySQLデータベースを表示する
MySQLデータベースのリストを取得する最も一般的な方法は、
mysql
クライアントを使用してMySQLサーバーに接続し、
SHOW DATABASES
コマンドを実行することです。
次のコマンドを使用してMySQLサーバーにアクセスし、プロンプトが表示されたらMySQLユーザーのパスワードを入力します。
mysql -u user -p
MySQLユーザーのパスワードを設定していない場合は、
-p
スイッチを省略できます。
MySQLシェル内から次のコマンドを実行します。
SHOW DATABASES;
このコマンドは、ユーザーに何らかの権限が付与されているすべてのデータベースのリストを出力します。 出力は次のようになります。
+--------------------+ | Database | +--------------------+ | information_schema | | opencart | +--------------------+ 2 rows in set (0.00 sec)
データベースをリストするために使用できる別のコマンドは、
SHOW DATABASES
コマンドの同義語である
SHOW SCHEMAS
です。
SHOW SCHEMAS;
出力は、
SHOW DATABASES
コマンドを使用した場合と同じです。
+--------------------+ | Database | +--------------------+ | information_schema | | opencart | +--------------------+ 2 rows in set (0.00 sec)
すべてのMySQLデータベースを表示
MySQLサーバー上のすべてのデータベースを一覧表示するには、すべてのデータベースにアクセスできるユーザー(デフォルトではMySQLルートユーザー)としてログインするか、グローバル
SHOW DATABASES
特権を設定する必要があります。
MySQLルートユーザーにログインします。
mysql -u user -p
SHOW DATABASES
コマンドを実行します。
SHOW DATABASES;
MySQLサーバー上のすべてのデータベースのリストが表示されます。
+--------------------+ | Databases | +--------------------+ | information_schema | | database_name | | mysql | | opencart | | wordpress | | performance_schema | | sys | +--------------------+ 7 rows in set (0.00 sec)
結果のフィルタリング
LIKE
句を使用すると、特定のパターンに従って
SHOW DATABASES
コマンドの出力をフィルタリングできます。
SHOW DATABASES LIKE pattern;
たとえば、次の文は、名前が「open」で始まるすべてのデータベースを返します。
SHOW DATABASES LIKE 'open%';
+--------------------+ | Database | +--------------------+ | opencart | +--------------------+ 1 rows in set (0.00 sec)
パーセント記号(
%
)は、0、1、または複数の文字を意味します。
次の文は、「open」または「word」で始まるすべてのデータベースのリストを提供します。
SELECT schema_name
FROM information_schema.schemata
WHERE schema_name LIKE 'open%' OR
schema_name LIKE 'word%';
+--------------------+ | Database | +--------------------+ | opencart | | wordpress | +--------------------+ 2 rows in set (0.00 sec)
コマンドラインからMySQLデータベースを表示する
MySQLシェルにログインせずにデータベースのリストを取得するには、実行を表す
-e
オプションを
-e
した
mysql
コマンド、またはデータベースとテーブルの情報を表示する
mysqlshow
を使用できます。
これは、シェルスクリプトを使用してMySQLデータベースを操作する場合に特に便利です。
端末で次のコマンドを実行して、すべてのデータベースのリストを表示します。
mysql -u user -p -e 'show databases;'
+--------------------+ | Database | +--------------------+ | information_schema | | opencart | +--------------------+
mysqlshow
コマンドを使用した例を次に示し
mysqlshow
。
mysqlshow -u user -p
出力は、前のコマンドの出力と同じです。
結論
MySQLサーバー内のすべてのデータベースのリストを取得する方法を学習しました。
ご質問がある場合は、コメントをお気軽にお寄せください。
mysql mariadb