mysqladmin は管理操作を実行するためのクライアントです。サーバーの構成や現在のステータスの確認、データベースの作成および削除、およびその他の用途に使用できます。
mysqladmin は次のように起動します。
shell> mysqladmin [options] command [command-arg] [command [command-arg]] ...
mysqladmin は次のコマンドをサポートします。コマンドの中にはコマンド名のあとに引数を取るものもあります。
-
db_name
という名前の新しいデータベースを作成します。 -
エラーログにデバッグ情報を書き込むようにサーバーに指示します。この情報の形式と内容は変更されることがあります。
これにはイベントスケジューラの情報が含まれます。セクション20.4.5「イベントスケジューラのステータス」を参照してください。
-
db_name
という名前のデータベースとそのテーブルをすべて削除します。 -
サーバーステータス変数とその値を表示します。
-
ホストキャッシュ内の情報をすべてフラッシュします。
-
ログをすべてフラッシュします。
-
付与テーブルをリロードします (
reload
と同じ)。 -
ステータス変数をクリアします。
-
テーブルをすべてフラッシュします。
-
スレッドキャッシュをフラッシュします。
-
サーバースレッドを強制終了します。複数のスレッド ID 値を指定する場合、リストにはスペースが存在してはいけません。
-
これは
password
コマンドと似ていますが、古い (4.1 以前) パスワードハッシュ形式を使用してパスワードを保存します。(セクション6.1.2.4「MySQL でのパスワードハッシュ」を参照してください。) -
新しいパスワードを設定します。これにより、サーバーへの接続に使う mysqladmin のアカウントパスワードを
new-password
に変更します。したがって、次に同じアカウントを使用して mysqladmin (またはほかのクライアントプログラム) を起動するとき、新しいパスワードを指定することが必要になります。new-password
の値がスペースまたはコマンドインタプリタにとって特殊なその他の文字を含んでいる場合、引用符で囲む必要があります。Windows では、単一引用符ではなく二重引用符を必ず使用してください。単一引用符はパスワードから取り除かれず、むしろパスワードの一部として解釈されます。例:shell> mysqladmin password "my new password"
MySQL 5.6 では、
password
コマンドに続いて新しいパスワードを省略できます。この場合、mysqladmin はパスワード値を要求し、パスワードをコマンド行で指定するのを避けることができます。パスワード値は、password
が mysqladmin コマンド行の最後のコマンドである場合にかぎって省略できます。そうでない場合、次の引数がパスワードとみなされます。注意サーバーが
--skip-grant-tables
オプションを使用して起動された場合は、このコマンドを使用しないでください。パスワードの変更は適用されません。これは、同じコマンド行でpassword
コマンドの前にflush-privileges
コマンドを指定して付与テーブルを再度有効にする場合にも当てはまります (フラッシュ処理は接続後に行われるため)。ただし、mysqladmin flush-privileges コマンドを実行して付与テーブルを再度有効にしてから、個別に mysqladmin password コマンドを実行してパスワードを変更することは可能です。 -
サーバーが使用可能かどうかをチェックします。サーバーが稼働中の場合は mysqladmin のリターンステータスは 0 になり、稼働していない場合は 1 になります。
Access denied
のようなエラーの場合でも 0 となります。これは、サーバーは稼働しているが接続を拒否したことを意味しており、サーバーが稼働していない状態とは異なるからです。 -
アクティブなサーバースレッドのリストを表示します。これは
SHOW PROCESSLIST
ステートメントの出力と同様です。--verbose
オプションが指定されている場合、出力はSHOW FULL PROCESSLIST
の出力と同様です。(セクション13.7.5.30「SHOW PROCESSLIST 構文」を参照してください。) -
付与テーブルをリロードします。
-
全テーブルをフラッシュし、ログファイルを閉じて、開きます。
-
サーバーを停止します。
-
スレーブサーバーのレプリケーションを開始します。
-
短いサーバーステータスメッセージを表示します。
-
スレーブサーバーのレプリケーションを停止します。
-
サーバーシステム変数とその値を表示します。
-
サーバーからのバージョン情報を表示します。
すべてのコマンドは一意のプリフィクスに省略できます。例:
shell> mysqladmin proc stat
+----+-------+-----------+----+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+-------+-----------+----+---------+------+-------+------------------+
| 51 | monty | localhost | | Query | 0 | | show processlist |
+----+-------+-----------+----+---------+------+-------+------------------+
Uptime: 1473624 Threads: 1 Questions: 39487
Slow queries: 0 Opens: 541 Flush tables: 1
Open tables: 19 Queries per second avg: 0.0268
mysqladmin status コマンドの結果は次の値を表示します。
-
MySQL サーバーが稼働している秒数。
-
アクティブスレッド (クライアント) の数です。
-
サーバーが起動して以来クライアントから寄せられた質問 (クエリー) の数です。
-
long_query_time
秒よりも時間を要したクエリーの数。セクション5.2.5「スロークエリーログ」を参照してください。 -
サーバーによって開かれたテーブルの数。
-
サーバーが実行した
flush-*
、refresh
、およびreload
コマンドの数です。 -
現在開いているテーブルの数。
Unix ソケットファイルを使用してローカルサーバーに接続する際に mysqladmin shutdown を実行した場合、mysqladmin はサーバーのプロセス ID ファイルが取り除かれるまで待ちます。これはサーバーが正しく停止したことを確認するためです。
mysqladmin は次のオプションをサポートします。これらはコマンド行またはオプションファイルの [mysqladmin]
グループおよび [client]
グループで指定できます。MySQL プログラムによって使用されるオプションファイルの詳細については、セクション4.2.6「オプションファイルの使用」を参照してください。
表 4.6 mysqladmin のオプション
オプション名 | 説明 | 導入 |
---|---|---|
--bind-address | 指定されたネットワークインタフェースを使用して MySQL サーバーに接続 | 5.6.1 |
--compress | クライアントとサーバー間で送信される情報をすべて圧縮 | |
--connect_timeout | 接続タイムアウトまでの秒数 | |
--count | 繰り返されるコマンド実行での反復回数 | |
--debug | デバッグのログを書き込み | |
--debug-check | プログラムの終了時にデバッグ情報を出力 | |
--debug-info | プログラムの終了時に、デバッグ情報、メモリー、および CPU の統計を出力 | |
--default-auth | 使用する認証プラグイン | |
--default-character-set | デフォルト文字セットを指定 | |
--defaults-extra-file | 通常のオプションファイルに加えてオプションファイルを読み取る | |
--defaults-file | 指名されたオプションファイルのみを読み取る | |
--defaults-group-suffix | オプショングループのサフィクス値 | |
--enable-cleartext-plugin | 平文の認証プラグインを有効化 | 5.6.7 |
--force | SQL エラーが発生しても続行 | |
--help | ヘルプメッセージを表示して終了 | |
--host | 指定されたホスト上で MySQL サーバーに接続 | |
--login-path | ログインパスオプションを .mylogin.cnf から読み取り | 5.6.6 |
--no-beep | エラー時に音を発生させない | |
--no-defaults | オプションファイルを読み取らない | |
--password | サーバーに接続する際に使用するパスワード | |
--pipe | Windows で、名前付きパイプを使用してサーバーに接続 | |
--plugin-dir | プラグインがインストールされているディレクトリ | |
--port | 接続に使用する TCP/IP ポート番号 | |
--print-defaults | デフォルトを出力 | |
--protocol | 使用する接続プロトコル | |
--relative | --sleep オプションとともに使用された場合、現在値と以前の値の差異を表示 | |
--secure-auth | 古い (4.1.1 より前の) 形式でサーバーにパスワードを送信しない | 5.6.17 |
--shared-memory-base-name | 共有メモリー接続に使用する共有メモリーの名前 | |
--shutdown_timeout | サーバーのシャットダウンを待機する最大秒数 | |
--silent | サイレントモード | |
--sleep | コマンドを反復実行し、その間に delay 秒間スリープ | |
--socket | ローカルホストへの接続で、使用する Unix ソケットファイル | |
--ssl | 接続に SSL を有効化 | |
--ssl-ca | 信頼された SSL CA のリストを含むファイルのパス | |
--ssl-capath | 信頼された SSL CA の PEM 形式の証明書を含むディレクトリのパス | |
--ssl-cert | PEM 形式の X509 証明書を含むファイルのパス | |
--ssl-cipher | SSL の暗号化に使用される、許可された暗号のリスト | |
--ssl-crl | 証明書失効リストを含むファイルのパス | 5.6.3 |
--ssl-crlpath | 証明書失効リストファイルを含むディレクトリのパス | 5.6.3 |
--ssl-key | PEM 形式の X509 鍵を含むファイルのパス | |
--ssl-verify-server-cert | サーバーへの接続時に、サーバーの証明書内のコモンネーム値をホスト名に対して検証 | |
--user | サーバーへの接続時に使用する MySQL ユーザー名 | |
--verbose | 冗長モード | |
--version | バージョン情報を表示して終了 | |
--vertical | クエリー出力行を垂直形式で出力 (カラム値ごとに 1 行) | |
--wait | 接続が確立できない場合、中止せずに待機してからリトライ |
-
ヘルプメッセージを表示して終了します。
-
複数のネットワークインタフェースを持つコンピュータで、このオプションを使用して、MySQL サーバーへの接続に使用するインタフェースを選択します。
このオプションは MySQL 5.6.1 からサポートされています。
-
文字セットがインストールされているディレクトリ。セクション10.5「文字セットの構成」を参照してください。
-
クライアントとサーバーの両方が圧縮をサポートしている場合、その間で送受信される情報をすべて圧縮します。
-
--sleep
オプションが指定されている場合、繰り返し実行されるコマンドの反復実行の数。 -
--debug[=
,debug_options
]-# [
debug_options
]デバッグのログを書き込みます。一般的な
debug_options
文字列はd:t:o,
です。デフォルトはfile_name
d:t:o,/tmp/mysqladmin.trace
です。 -
プログラムの終了時に、デバッグ情報を出力します。
-
プログラムの終了時に、デバッグ情報とメモリーおよび CPU 使用率の統計を出力します。
-
使用するクライアント側の認証プラグイン。セクション6.3.7「プラガブル認証」を参照してください。
-
--default-character-set=
charset_name
charset_name
をデフォルト文字セットとして使用します。セクション10.5「文字セットの構成」を参照してください。 -
--defaults-extra-file=
file_name
このオプションファイルは、グローバルオプションファイルのあとに読み取りますが、(UNIX では) ユーザーオプションファイルの前に読み取るようにしてください。ファイルが存在しないかアクセスできない場合、エラーが発生します。
file_name
は、フルパス名でなく相対パス名として指定された場合、現行ディレクトリを基準にして解釈されます。 -
指定されたオプションファイルのみ使用します。ファイルが存在しないかアクセスできない場合、エラーが発生します。
file_name
は、フルパス名でなく相対パス名として指定された場合、現行ディレクトリを基準にして解釈されます。 -
通常のオプショングループだけでなく、通常の名前に
str
のサフィクスが付いたグループも読み取ります。たとえば、mysqladmin は通常[client]
グループおよび[mysqladmin]
グループを読み取ります。--defaults-group-suffix=_other
オプションを指定した場合、mysqladmin は[client_other]
グループおよび[mysqladmin_other]
グループも読み取ります。 -
mysql_clear_password
平文認証プラグインを有効にします。(セクション6.3.8.7「クライアント側のクリアテキスト認証プラグイン」を参照してください。)このオプションは MySQL 5.6.7 で追加されました。 -
drop
コマンドの確認を求めません。複数のコマンドで、エラーが発生しても続けます。db_name
-
--host=
,host_name
-h
host_name
指定されたホストの MySQL サーバーに接続します。
-
指名されたログインパスから
.mylogin.cnf
ログインファイルのオプションを読み取ります。「ログインパス」は、host
、user
、およびpassword
という限定されたオプションのセットのみを許可するオプショングループです。ログインパスは、サーバーホストおよびそのサーバーで認証するための認証情報を示す値のセットであると考えてください。ログインパスファイルを作成するには、mysql_config_editor ユーティリティーを使用します。セクション4.6.6「mysql_config_editor — MySQL 構成ユーティリティー」を参照してください。このオプションは MySQL 5.6.6 で追加されました。 -
サーバーへの接続に失敗するなどのエラーの際にデフォルトで鳴らされる警告音を抑制します。
-
オプションファイルを読み取りません。オプションファイルから不明のオプションを読み取ることが原因でプログラムの起動に失敗する場合、
--no-defaults
を使用して、オプションを読み取らないようにすることができます。例外として、
.mylogin.cnf
ファイルは、存在する場合はすべての場合に読み取られます。これにより、--no-defaults
が使用された場合でも、コマンド行よりも安全な方法でパスワードを指定できます。(.mylogin.cnf
は mysql_config_editor ユーティリティーによって作成されます。セクション4.6.6「mysql_config_editor — MySQL 構成ユーティリティー」を参照してください)。 -
--password[=
,password
]-p[
password
]サーバーに接続する際に使用するパスワードです。短いオプション形式 (
-p
) を使用した場合は、オプションとパスワードの間にスペースを置くことはできません。コマンド行で、--password
オプションまたは-p
オプションに続けてpassword
の値を指定しなかった場合、mysqladmin はそれを要求します。コマンド行でのパスワード指定は、セキュアでないと考えるべきです。セクション6.1.2.1「パスワードセキュリティーのためのエンドユーザーガイドライン」を参照してください。オプションファイルを使用すれば、コマンド行でパスワードを指定することを回避できます。
-
Windows で、名前付きパイプを使用してサーバーに接続します。このオプションは、サーバーが名前付きパイプ接続をサポートしている場合にのみ適用されます。
-
プラグインを検索するディレクトリ。
--default-auth
オプションを使用して認証プラグインを指定したが、mysqladmin がそれを検出できない場合は、このオプションを指定しなければならない可能性があります。セクション6.3.7「プラガブル認証」を参照してください。 -
接続に使用する TCP/IP ポート番号。
-
プログラム名と、オプションファイルから受け取るすべてのオプションを出力します。
-
--protocol={TCP|SOCKET|PIPE|MEMORY}
サーバーへの接続に使用する接続プロトコル。このオプションは、ほかの接続パラメータによって、必要なプロトコル以外のものが通常使用される場合に役立ちます。許可される値の詳細は、セクション4.2.2「MySQL サーバーへの接続」を参照してください。
-
--sleep
オプションとともに使用された場合、現在値と以前の値の差異を表示します。このオプションはextended-status
コマンドとのみ機能します。 -
古い (4.1 より前の) 形式でサーバーにパスワードを送信しません。これにより、新しいパスワード形式を使用するサーバー以外への接続を防ぎます。このオプションはデフォルトで有効です。無効にするには
--skip-secure-auth
を使用します。このオプションは MySQL 5.6.17 で追加されました。注記4.1 より前のハッシュ方式を使用するパスワードはネイティブのパスワードハッシュ方式を使用するパスワードよりもセキュアでないため、使用しないようにしてください。4.1 よりも前のパスワードは非推奨であり、これらのサポートは今後の MySQL リリースで削除される予定です。アカウントのアップグレード手順については、セクション6.3.8.3「4.1 よりも前のパスワードハッシュ方式と mysql_old_password プラグインからの移行」を参照してください。
-
--shared-memory-base-name=
name
Windows で、共有メモリーを使用して作成されるローカルサーバーへの接続の共有メモリー名。デフォルト値は
MYSQL
です。共有メモリー名では大文字と小文字を区別します。共有メモリー接続を可能にするには、サーバーは
--shared-memory
オプションで起動する必要があります。 -
サーバーとの接続が確立できない場合、警告なしで終了します。
-
コマンドを繰り返し実行し、その間
delay
秒間スリープします。--count
オプションは反復回数を決定します。--count
が指定されていない場合は、mysqladmin は中断されるまでいつまでもコマンドを実行します。 -
localhost
への接続用に使用する、Unix ソケットファイル、または Windows では使用する名前付きパイプの名前。 -
--ssl
で始まるオプションは、SSL を使用してサーバーに接続することを許可するかどうかを指定し、SSL 鍵および証明書を検索する場所を指定します。セクション6.3.10.4「SSL コマンドのオプション」を参照してください。 -
--user=
,user_name
-u
user_name
サーバーへの接続時に使用する MySQL ユーザー名。
-
冗長モード。プログラムの動作についてより多くの情報を出力します。
-
バージョン情報を表示して終了します。
-
出力を縦に出力します。これは
--relative
と同様ですが、出力を縦に出力します。 -
接続が確立できない場合、中止せずに待機してからリトライします。
count
値が指定されている場合、リトライ回数を示します。デフォルトは 1 回です。
--
を使用して、次の変数も設定できます。
var_name
=value