MySQLは、Oracle Corporationによって開発、配布、およびサポートされているオープンソースのリレーショナルデータベース管理システムです。 MySQLサーバーの管理に使用できるWebベースのツールはいくつかありますが、ベストプラクティスは、ネイティブのMySQLコマンドラインクライアントを使用して日常のMySQLタスクを実行することです。特にCLI環境で定期的に作業していない場合は、コマンドラインインターフェイスに慣れるまでに少し時間がかかります。
このチュートリアルでは、日常のタスクを実行するのに役立つMySQLコマンドラインのヒントとコツをいくつか紹介します。
前提条件
- MySQLがAtlantic.netクラウドプラットフォームにインストールされた新しいUbuntu18.04VPS。
- サーバーで構成されているrootパスワード。
Atlantic.Netクラウドサーバーを作成する
まず、Atlantic.Netクラウドサーバーにログインします。少なくとも1GBのRAMを搭載したオペレーティングシステムとしてUbuntu18.04を選択して、新しいサーバーを作成します。 SSH経由でクラウドサーバーに接続し、ページの上部で強調表示されているクレデンシャルを使用してログインします。
Ubuntu 18.04サーバーにログインしたら、次のコマンドを実行して、ベースシステムを最新の利用可能なパッケージで更新します。
apt-get update -y
1 –MySQLログインを自動化する
MySQLサーバーに接続するには、ユーザー名とパスワードを指定して認証する必要があります。
これが日常的なプロセスである場合は、〜/ .my.cnfファイルでMySQLのユーザー名とパスワードを指定してログインプロセスを自動化することで、時間を大幅に節約できます。
これを行うには、ホームディレクトリに〜/.my.cnfファイルを作成します。
nano ~/.my.cnf
MySQLホスト、ユーザー名、およびパスワードを含む次の情報を追加します。
[client] host = localhost user = root password = your-password
ファイルを保存して閉じてから、ファイルの所有権をmysqlに変更します:
chown mysql:mysql ~/.my.cnf
これで、以下に示すように、ユーザー名とパスワードを指定せずにMySQLサーバーに接続できます。
mysql
次の出力が得られるはずです:
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 5 Server version: 5.7.29-0ubuntu0.18.04.1 (Ubuntu) Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
2 –実行中のプロセスを確認する
MySQLサービスの実行中のすべてのプロセスを確認するには、次のコマンドを実行します。
mysqladmin -u root -pnew-password processlist
次の出力が表示されます。
mysqladmin: [Warning] Using a password on the command line interface can be insecure. +----+------+-----------+----+---------+------+----------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+------+-----------+----+---------+------+----------+------------------+ | 6 | root | localhost | | Query | 0 | starting | show processlist | +----+------+-----------+----+---------+------+----------+------------------+
3 –MySQLサービスをシャットダウンします
MySQLサーバーをシャットダウンするには、次のコマンドを実行します。
mysqladmin -u root -pnew-password shutdown
4 –データベースの作成と削除
新しいデータベースを作成するには、次のコマンドを実行します。
mysqladmin -u root -pnew-password create dbname
データベースを削除するには、次のコマンドを実行します。
mysqladmin -u root -pnew-password drop dbname
5 –MySQLのステータスを確認する
MySQLサーバーが実行されているかどうかを確認するには、次のコマンドを使用します。
mysqladmin -u root -pnew-password ping
次の出力が得られるはずです:
mysqld is alive
MySQLサーバーの現在のステータスを確認するには、次のコマンドを実行します。
mysqladmin -u root -pnew-password status
次の出力に、実行中のスレッドとクエリの稼働時間のステータスが表示されます。
Uptime: 2607 Threads: 1 Questions: 30 Slow queries: 0 Opens: 112 Flush tables: 2 Open tables: 0 Queries per second avg: 0.011
リモートMySQLサーバーのステータスを確認する場合は、次のコマンドを実行します。
mysqladmin -h remote-server-ip -u root -pnew-password status
6 –MySQLバージョンを確認する
インストールされているMySQLサーバーのバージョンを確認するには、次のコマンドを実行します。
mysqladmin -u root -pnew-password version
次の出力が得られるはずです:
mysqladmin: [Warning] Using a password on the command line interface can be insecure. mysqladmin Ver 8.42 Distrib 5.7.29, for Linux on x86_64 Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Server version 5.7.29-0ubuntu0.18.04.1 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/run/mysqld/mysqld.sock Uptime: 44 min 44 sec Threads: 1 Questions: 35 Slow queries: 0 Opens: 113 Flush tables: 2 Open tables: 1 Queries per second avg: 0.013
7 –MySQLデバッグ情報を保存する
MySQLサーバーにMySQLログファイルにデバッグ情報を書き込むように指示する場合は、次のコマンドを実行します。
mysqldump -u root -pnew-password debug
8 –MySQLデータベースのバックアップと復元
単一のデータベースをバックアップするには、次のコマンドを実行します。
mysqldump -u root -pnew-password databasename > database-backup.sql
1つのファイルに複数のデータベースをバックアップするには、次のコマンドを実行します。
mysqldump -u root -pnew-password database1 database2 database3 > database-backup.sql
すべてのデータベースを1つのファイルにバックアップするには、次のコマンドを実行します。
mysqldump -u root -pnew-password --all-databases --single-transaction --quick --lock-tables=false > full-database.sql
バックアップファイルからデータベースを復元するには、次のコマンドを実行します。
mysqldump -u root -pnew-password databasename < database-backup.sql
結論
上記のガイドでは、いくつかの便利なMySQLコマンドと例を学びました。これにより、Atlantic.NetのVPSでMySQLを使用する際の時間を大幅に節約できることを願っています。