LinuxターミナルでMySQLデータベースをリストする方法

ターミナルを通じてMySQLデータベースをリストすることは、Linuxベースのホスティング環境、例えばVPS専用サーバーを管理するための重要なスキルです。このガイドでは、すべてのデータベースを表示し、結果をフィルタリングし、問題をトラブルシューティングする方法を簡素化しています。実用的な例とヒントを交えて、SSH環境で作業するシステム管理者やウェブサイトオーナーに最適です。

なぜMySQLデータベースをリストするのか?

以下の理由から必要になることがあります:

  • 別々のデータベースを持つ複数のウェブサイトを管理する。

  • データベースの作成を確認する。

  • 未使用のデータベースをトラブルシューティングまたはクリーンアップする。

  • バックアップや移行の準備をする。

ステップ 1: MySQL CLIにアクセスする

コマンドラインを通じてMySQLと対話するには、まずMySQLシェルにログインします:

mysql -u root -p
  • -u root — MySQLユーザーを指定します。必要に応じてrootを別のユーザーに置き換えてください。
  • -p — パスワードを求められます(セキュリティ上の理由から、コマンドに直接パスワードを含めないでください)。

💡 ヒント: MySQLのrootユーザーにパスワードが設定されていない場合(本番環境では推奨されません)、-pをスキップできます。

 ステップ 2: すべてのデータベースをリストする

MySQLシェル内に入ったら、単に次を実行します:

SHOW DATABASES;

出力は次のようになります:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| your_database_name |
+--------------------+

各行はMySQLサーバーに保存されているデータベースを表します。これらの中には(information_schemaやperformance_schemaのように)システムデータベースがあり、変更しないでください。

MySQLを開かずにデータベースをリストする

MySQLプロンプトを開かずにシェルから直接データベースをリストしたい場合は、次を使用します:

mysql -u root -p -e 'SHOW DATABASES;'

これはスクリプトや自動化タスクに便利です。

特定のデータベース名をフィルタリングまたは検索する

出力をフィルタリングして特定のデータベース名を見つけるには、コマンドをgrepと組み合わせることができます:

mysql -u root -p -e 'SHOW DATABASES;' | grep your_keyword

your_keywordをデータベース名の一部に置き換えてください。このトリックは、複数のクライアントやアプリケーションを管理する際に便利です。

Linux上のMySQLデータベースはどこに保存されているか?

物理的なストレージについて興味がある場合、MySQLデータベースは通常次の場所に保存されています:

/var/lib/mysql/

各フォルダーはデータベース名に対応しています。 ここで手動で何かを変更または削除しないでください — 自分が何をしているのか正確にわかっている場合を除き、常にSQLコマンドまたは管理ツールを使用してください。

一般的なエラーと修正

エラー: ‘root’@’localhost’のユーザーに対するアクセスが拒否されました

  • ユーザー名とパスワードを再確認してください。
  • MySQLサービスが実行中であることを確認してください:
sudo systemctl status mysql

エラー: コマンド’mysql’が見つかりません

  • MySQLクライアントツールをインストールします:
    sudo apt install mysql-client
    

結論

ターミナルでMySQLデータベースをリストすることは迅速で、Linuxホスティング環境を管理するために不可欠です。SHOW DATABASES;を使用したり、grepでフィルタリングしたり、例に示したようにスクリプトを作成することで、データベースを効率的に確認および管理できます。AvaHostの信頼性の高いVPSまたは専用サーバーを使用すれば、これらの技術によりデータベースタスクが安全で迅速、かつ効率的に行えます。