MySQL インストールには多くのさまざまなプログラムがあります。 このセクションでは、それらの概要を簡単に説明します。 あとのセクションでは、NDB Cluster プログラムを除いて、それぞれについてより詳細に説明します。 各プログラムの説明は、その起動構文とサポートされるオプションを示しています。セクション23.4「NDB Cluster プログラム」 では、NDB Cluster に固有のプログラムについて説明します。
ほとんどの MySQL 配布には、これらのプログラムが (プラットフォーム固有のプログラムを除き) すべて含まれます。 (たとえば、サーバー起動スクリプトは Windows では使用されません。) 例外は、RPM 配布はより専門化されているということです。 サーバー用に 1 つの RPM があり、クライアントプログラム用にもう 1 つ、などです。 もし 1 つまたは複数のプログラムが欠けているようであれば、第2章「MySQL のインストールとアップグレード」を参照して、配布のタイプとその内容を確認してください。 配布がすべてのプログラムを含んではおらず、追加のパッケージをインストールする必要がある場合もあります。
各 MySQL プログラムは多くのさまざまなオプションを取ります。 ほとんどのプログラムには --help
オプションがあり、プログラムのさまざまなオプションの説明を取得するために使用できます。 たとえば、mysql --help を試してみてください。
MySQL プログラムのデフォルトのオプション値は、コマンド行のオプションまたはオプションファイルを指定して、オーバーライドできます。 プログラムの起動と、プログラムオプションの指定に関する一般的な情報については、セクション4.2「MySQL プログラムの使用」を参照してください。
MySQL Server mysqld は、MySQL インストールのほとんどの作業を実行するメインプログラムです。 サーバーには、サーバーの起動と停止を支援する、関係するいくつかのスクリプトが付随します。
-
SQL デーモン (すなわち MySQL Server)。 クライアントは、サーバーに接続することでデータベースへアクセスするため、クライアントプログラムを使用するには、mysqld が稼働していなければなりません。 セクション4.3.1「mysqld — MySQL サーバー」を参照してください。
-
サーバー起動スクリプト。mysqld_safe は mysqld を起動しようとします。 セクション4.3.2「mysqld_safe — MySQL サーバー起動スクリプト」を参照してください。
-
サーバー起動スクリプト。 このスクリプトは、特定の実行レベルのシステムサービスを起動するスクリプトを含む、System V スタイルの実行ディレクトリを使用するシステム上で使用されます。 これは、MySQL サーバーを起動するために、mysqld_safe を呼び出します。 セクション4.3.3「mysql.server — MySQL サーバー起動スクリプト」を参照してください。
-
システムにインストールされている複数のサーバーの起動または停止を実行できるサーバー起動スクリプト。 セクション4.3.4「mysqld_multi — 複数の MySQL サーバーの管理」を参照してください。
いくつかのプログラムは、MySQL のインストール中またはアップグレード中に、セットアップ操作を実行します。
-
このプログラムは MySQL のビルド/インストールプロセス中に使用されます。 これは、エラーソースファイルからエラーメッセージをコンパイルします。 セクション4.4.1「comp_err — MySQL エラーメッセージファイルのコンパイル」を参照してください。
-
このプログラムにより、MySQL インストールのセキュリティーを改善できます。 セクション4.4.2「mysql_secure_installation — MySQL インストールのセキュリティー改善」を参照してください。
-
このプログラムは、セキュアな接続をサポートするために必要な SSL 証明書およびキーファイルと RSA キーペアファイルを作成します (それらのファイルがない場合)。 mysql_ssl_rsa_setup によって作成されたファイルは、SSL または RSA を使用したセキュアな接続に使用できます。 セクション4.4.3「mysql_ssl_rsa_setup — SSL/RSA ファイルの作成」を参照してください。
-
このプログラムは、ホストシステムの zoneinfo データベース (タイムゾーンを記述しているファイルセット) の内容を使用して、タイムゾーンテーブルを
mysql
データベースにロードします。 セクション4.4.4「mysql_tzinfo_to_sql — タイムゾーンテーブルのロード」を参照してください。 -
MySQL 8.0.16 より前は、このプログラムは MySQL のアップグレード操作後に使用されます。 新しいバージョンの MySQL で行われた変更で付与テーブルが更新され、テーブルの非互換性がチェックされ、必要に応じて修復されます。 セクション4.4.5「mysql_upgrade — MySQL テーブルのチェックとアップグレード」を参照してください。
MySQL 8.0.16 では、MySQL サーバーは以前に mysql_upgrade によって処理されたアップグレードタスクを実行します (詳細は、セクション2.11.3「MySQL のアップグレードプロセスの内容」 を参照)。
MySQL サーバーに接続するクライアントプログラム。
-
インタラクティブに SQL ステートメントを書き込む、またはバッチモードでファイルを使用してステートメントを実行するためのコマンド行ツールです。 セクション4.5.1「mysql — MySQL コマンドラインクライアント」を参照してください。
-
データベースの作成と削除、付与テーブルのリロード、テーブルのディスクへのフラッシュ、およびログファイルの再オープン等、管理操作を実行するクライアント。mysqladmin は、サーバーからバージョン、プロセス、およびステータス情報を取得するためにも使用できます。 セクション4.5.2「mysqladmin — A MySQL Server 管理プログラム」を参照してください。
-
テーブルのチェック、修復、分析、および最適化を行うテーブルメンテナンスのクライアント。 セクション4.5.3「mysqlcheck — テーブル保守プログラム」を参照してください。
-
MySQL データベースを SQL、テキスト、または XML としてファイルにダンプするクライアント。 セクション4.5.4「mysqldump — データベースバックアッププログラム」を参照してください。
-
LOAD DATA
を使用してテキストファイルをそれぞれのテーブルにインポートするクライアント。 セクション4.5.5「mysqlimport — データインポートプログラム」を参照してください。 -
MySQL データベースを SQL としてファイルにダンプするクライアント。 セクション4.5.6「mysqlpump — データベースバックアッププログラム」を参照してください。
-
MySQL Shell は、MySQL Server の高度なクライアントおよびコードエディタです。 MySQL Shell 8.0を参照してください。 mysql と同様の提供される SQL 機能に加えて、MySQL Shell は JavaScript および Python のスクリプト機能を提供し、MySQL を操作するための API を備えています。X DevAPI を使用すると、リレーショナルデータとドキュメントデータの両方を操作できます。第20章「ドキュメントストアとしての MySQL の使用」 を参照してください。AdminAPI を使用すると、InnoDB クラスタ を作業できます。MySQL AdminAPI の使用 を参照してください。
-
データベース、テーブル、カラム、およびインデックスの情報を表示するクライアント。 セクション4.5.7「mysqlshow — データベース、テーブル、およびカラム情報の表示」を参照してください。
-
MySQL Server のクライアント負荷をエミュレートし、各ステージのタイミングをレポートするクライアント。 複数のクライアントがサーバーにアクセスしているかのように作動します。 セクション4.5.8「mysqlslap — ロードエミュレーションクライアント」を参照してください。
MySQL 管理プログラムおよびユーティリティープログラム:
-
オフライン
InnoDB
オフラインファイルのチェックサムユーティリティー。 セクション4.6.2「innochecksum — オフライン InnoDB ファイルチェックサムユーティリティー」を参照してください。 -
MyISAM
テーブル内の全文インデックスの情報を表示するユーティリティー。 セクション4.6.3「myisam_ftdump — 全文インデックス情報の表示」を参照してください。 -
MyISAM
テーブルの記述、チェック、最適化、および修復を行うユーティリティー。 セクション4.6.4「myisamchk — MyISAM テーブルメンテナンスユーティリティー」を参照してください。 -
MyISAM
ログファイルの内容を処理するユーティリティー。 セクション4.6.5「myisamlog — MyISAM ログファイルの内容の表示」を参照してください。 -
MyISAM
テーブルを圧縮してより小さい読み取り専用のテーブルを生成するユーティリティー。 セクション4.6.6「myisampack — 圧縮された読み取り専用の MyISAM テーブルの生成」を参照してください。 -
.mylogin.cnf
という名前のセキュアで暗号化されたログインパスファイルに認証資格証明を格納できるユーティリティ。 セクション4.6.7「mysql_config_editor — MySQL 構成ユーティリティー」を参照してください。 -
バイナリログからステートメントを読み取るためのユーティリティー。 クラッシュ状態からリカバリするために、バイナリログファイルに含まれる実行ステートメントのログを使用することができます。 セクション4.6.8「mysqlbinlog — バイナリログファイルを処理するためのユーティリティー」を参照してください。
-
スロークエリーログの内容を読み取って要約するユーティリティー。 セクション4.6.9「mysqldumpslow — スロークエリーログファイルの要約」を参照してください。
MySQL プログラム開発ユーティリティー:
-
mysql_config
MySQL プログラムをコンパイルするときに必要なオプション値を生成するシェルスクリプト。 セクション4.7.1「mysql_config — クライアントのコンパイル用オプションの表示」を参照してください。
-
オプションファイルのオプショングループにどのオプションがあるかを表示するユーティリティー。 セクション4.7.2「my_print_defaults — オプションファイルからのオプションの表示」を参照してください。
その他のユーティリティー:
-
LZ4 圧縮を使用して作成された mysqlpump 出力を解凍するユーティリティ。 セクション4.8.1「lz4_decompress — mysqlpump LZ4-Compressed 出力の解凍」を参照してください。
-
システムあるいは MySQL エラーコードの意味を表示するユーティリティー。 セクション4.8.2「perror — MySQL エラーメッセージ情報の表示」を参照してください。
-
ZLIB 圧縮を使用して作成された mysqlpump 出力を解凍するユーティリティ。 セクション4.8.3「zlib_decompress — mysqlpump ZLIB 圧縮出力の解凍」を参照してください。
Oracle Corporation は、MySQL Workbench GUI も提供します。これは、MySQL サーバーおよびデータベースの管理、クエリーの作成、実行、評価、およびほかのリレーショナルデータベース管理システムからのスキーマおよびデータを MySQL で使用するための移行を行うために使用されます。
MySQL クライアント/サーバーライブラリを使用してサーバーと通信する MySQL クライアントプログラムは、次の環境変数を使用します。
環境変数 | 意味 |
---|---|
MYSQL_UNIX_PORT |
localhost への接続に使用される、デフォルト Unix ソケットファイル |
MYSQL_TCP_PORT |
TCP/IP 接続に使用されるデフォルトのポート番号 |
MYSQL_DEBUG |
デバッグ中のデバッグトレースオプション |
TMPDIR |
一時テーブルや一時ファイルが作成されるディレクトリ |
MySQL プログラムが使用する環境変数の全リストについては、セクション4.9「環境変数」を参照してください。