mysql は、次のリストに示すオプションをサポートします。また、オプションファイルを読み取り、Command-Line Options that Affect Option-File Handlingに説明されている、オプションファイルを処理するためのオプションもサポートします。
ヘルプメッセージを表示し、閉じます。
自動リハッシュを有効にします。このオプションはデフォルトで有効になっており、データベース、テーブル、およびカラムの名前補完が可能になります。リハッシュを無効にするには、--disable-auto-rehash
を実行します。これにより、mysql
の起動が速くなりますが、名前補完を使用する場合には
rehash
コマンドを発行する必要があります。
名前を補完するには、最初の部分を入力して Tab キーを押します。名前があいまいでない場合、mysql はその名前を補完します。名前があいまいな場合は、Tab キーをもう一度押して、これまでに入力した値で始まる、考えられる名前を表示することができます。デフォルトのデータベースがない場合、補完は行われません。
タブとして、カラムセパレータを使用することで、各行が新しいライン上に配置されるように、結果をプリントします。このオプションでは、mysql は履歴ファイルを使用しません。
バッチモードでは、表形式でない出力が生成され、特殊文字のエスケープ処理が行われます。raw
モードを使用すれば、エスケープ処理を無効にできます。--raw
オプションの説明を参照してください。
キャラクタセットがインストールされるディレクトリです。Character Set Configuration を参照してください。
結果にカラム名を記述します。
結果セットのメタデータを表示します。このオプションは
MySQL 5.1.14 で追加されました。(MySQL 5.1.14
より前のバージョンでは、--debug-info
を使用。) MySQL 5.1.21 で -m
ショートオプションが追加されました。
サーバーに送信されたステートメント内のコメントを保持するかどうかを指定します。デフォルトは --skip-comments (コメントを破棄) であり、--comments (コメントを保持) で有効になります。このオプションは MySQL 5.1.23 で追加されました。
双方が圧縮をサポートしている場合、クライアント・サーバー間で行きかう情報をすべて圧縮します。
--database=
,
db_name
-D
db_name
使用されるべきデータベースです。これは基本的には、オプションファイルで便利です。
--debug[=
,
debug_options
]-#
[
debug_options
]
デバッグのログを書き込みます。debug_options
文字列は通常
'd:t:o,
になります。デフォルトは
file_name
''d:t:o,/tmp/mysql.trace'
です。
プログラムが閉じるときに、デバッグ情報をプリントします。このオプションは MySQL 5.1.21 で追加されました。
MySQL 5.1.14
より前のバージョンでは、このオプションはプログラムの終了時にデバッグ情報と、メモリーおよび
CPU
使用率の統計を表示し、さらにプログラムの実行中に結果セットのメタデータも表示します。MySQL
5.1.14
以降のバージョンでは、結果セットのメタデータの表示には
--column-type-info
を使用します。
--default-character-set=
charset_name
charset_name
をデフォルトキャラクタセットとして使用します。Character Set Configuration
を参照してください。
ステートメント区切り文字を設定します。デフォルトはセミコロン
(「;
」)
文字です。
名前付きコマンドを無効化します。\*
形式のみを使用します。あるいは、セミコロン
(「;
」)
で終わる行の先頭でのみ名前付きコマンドを使用します。mysql
の起動時に、このオプションはデフォルトで有効になっています。ただし、このオプションを使用しても、ロング形式コマンドは最初の行から効果を発揮します。項3.1.2. 「mysql コマンド」
を参照してください。
--execute=
,
statement
-e
statement
ステートメントを実行し、やめます。デフォルトの出力形式は、--batch
で生成されるものと類似しています。例については、Using Options on the Command Line
をご参照してください。
SQL エラーが発生しても続けます。
--host=
,
host_name
-h
host_name
与えられたホスト上で MySQL サーバーに接続します。
HTML 出力を生成します。
ファンクション名の後のスペースを無視します。これの効果は
IGNORE_SPACE
SQL モード
(Server SQL Modesを参照してください)
のディスカッションで記述されています。
エラーの際に行番号を書き出します。--skip-line-numbers
を使用することで無効化することができます。
LOAD DATA INFILE
上で
LOCAL
能力を有効化・無効化する。値がない場合、オプションは
LOCAL
を有効にします。オプションは
LOCAL
を明示的に有効化・無効化するため、--local-infile=0
か--local-infile=1
として提供されている場合があります。LOCAL
を有効にしても、サーバーがサポートしていない場合、効果はありません。
名をつけられている
mysql
コマンドを有効にします。ショート形式コマンドだけでなく、ロング形式コマンドも許容されています。たとえば、quit
と\q
は両方認識されます。名前つきコマンドを無効化するには、--skip-named-commands
を使用してください。項3.1.2. 「mysql コマンド」
を参照してください。
-skip-auto-rehash
の推奨されない形式。代わりに
--disable-auto-rehash
を使用してください。--auto-rehash
の説明を参照してください。
エラー音を発生させません。
推奨されません。代わりに
--disable-named-commands
を使用してください。
--skip-pager
の推奨されない形式。--pager
オプションを参照してください。
出力をファイルへコピーしません。項3.1.2. 「mysql コマンド」, discusses tee files further.
コマンドライン上で名づけられたデフォルトのデータベースのステートメント以外を無視します。これはほかのバイナリログ内のデータベースの更新をスキップする場合に便利です。
ページングクエリー出力にこのコマンドを使用してください。このコマンドが取り除かれている場合、ページングのデフォルトは
PAGER
環境変数の値となります。有効なページングは
less、more、cat
[>
filename]などです。このオプションは
Unix
上でしか作動しません。バッチモードでは作動しません。ページングを無効化するには、--skip-pager
を使用してください。項3.1.2. 「mysql コマンド」,
には出力ページングの詳細説明があります。
--password[=
,
password
]-p[
password
]
サーバーに接続する際に使用するパスワードです。ショートオプションフォーム
(-p
)
を使用した場合、オプションとパスワードの間にスペースを置くことはできません。コマンドライン上で
--password
あるいは
-p
に続くオプションから
password
値を省略した場合、パスワードを求めるプロンプトが表示されます。
コマンドライン上でのパスワードの特定は安全ではありません。End-User Guidelines for Password Security を参照してください。
Windows では、名前付きパイプを介してサーバーに接続します。このオプションは、ローカルサーバーへの接続で、サーバーが名前付きパイプ接続をサポートしている場合にのみ適用されます。
接続に使用する TCP/IP ポート番号です。
プロンプトを特定のフォーマットに設定します。そのデフォルトは
mysql>
です。プロンプト内で存在しえる特別なシーケンスは、項3.1.2. 「mysql コマンド」で紹介されています。
--protocol={TCP|SOCKET|PIPE|MEMORY}
サーバーへの接続に使用する接続プロトコルを指定します。このオプションは、ほかの接続パラメータによって、必要なプロトコル以外のものが通常使用される場合に役立ちます。使用できる値の詳細は、Connecting to the MySQL Serverを参照してください。
各クエリー結果をキャッシュせず、受け取ったとおりに各行をプリントします。出力が遅延された場合、サーバーのスピードを下げることがあります。このオプションでは、mysql は履歴ファイルを使用しません。
表形式の出力では、カラムを「枠で囲む」ことにより、1
つのカラム値を別のカラム値と区別できます。表形式でない出力
(バッチモードで生成される場合や
--batch
または
--silent
オプションを指定した場合など)
では、簡単に識別できるように特殊文字が出力時にエスケープされます。改行、タブ、NUL
、およびバックスラッシュはそれぞれ、\n
、\t
、\0
、および
\\
と記述します。--raw
オプションでは、この文字のエスケープ処理を無効にします。
次の例は、表形式と表形式でない出力の違い、および raw モードを使用してエスケープ処理を無効にした場合を示しています。
%mysql
mysql> SELECT CHAR(92); +----------+ | CHAR(92) | +----------+ | \ | +----------+ %mysql -s
mysql> SELECT CHAR(92); CHAR(92) \\ %mysql -s -r
mysql> SELECT CHAR(92); CHAR(92) \
サーバーとの接続が失われたとき、再接続を自動的に試みます。接続が失われるたびに一度再接続が試みられます。再接続行為を抑制するには、--skip-reconnect
を使用してください。
--safe-updates
,
--i-am-a-dummy
,
-U
キー値を使用してどの行を改良するか特定する、UPDATE
や DELETE
ステートメントを許容する。このオプションをオプションファイル内で設定した場合、--safe-updates
をコマンドライン上で使用することでオーバーライドすることができます。これらのオプションについては、項3.1.5. 「mysql ヒント」
をご参照してください。
古い (4.1.1 以前) フォーマットでサーバーへパスワードを送りません。接続を新しいパスワードフォーマットを使用するサーバーに限定します。
警告が存在する場合、各ステートメント後に表示させます。このオプションはインタラクティブとバッチモードにのみ対応しています。
SIGINT
シグナルを無視します (Control-C
を押すことで現れる主な結果)。
サイレントモード。出力生成を少なくします。このオプションをさらに少ない出力を生成するために複数回提供することができます。
このオプションでは、表形式でない出力が生成され、特殊文字のエスケープ処理が行われます。raw
モードを使用すれば、エスケープ処理を無効にできます。--raw
オプションの説明を参照してください。
結果にカラム名を記述しません。ショート形式の
-N
は推奨されません。代わりに、ロング形式を使用してください。
エラーの際行番号を書き出しません。エラーメッセージを含む結果ファイルを比較したい場合に便利です。ショート形式の
-L
は推奨されません。代わりに、ロング形式を使用してください。
localhost
の接続用に使用する、UNIX
ではソケットファイル、Windows
では使用する名づけられたパイプ。
--ssl
で始まるオプションは、SSL
を介してサーバーに接続し、SSL
キーや証明の場所を明示するか否かを指定します。SSL Command Options
を参照してください。
出力をテーブルフォーマットで評します。インタラクティブの場合これがデフォルトになりますが、テーブル出力をバッチモードで生成するのに使用することもできます。
ファイル上で出力の複製をアペンドします。このオプションはバッチモードでは機能しません。tee ファイルの詳細は、項3.1.2. 「mysql コマンド」を参照してください。
各クエリー後にバッファーをフラッシュします。
--user=
,
user_name
-u
user_name
サーバーへの接続時に使用する MySQL ユーザー名です。
冗長モード。プログラムの動作についてより多くの出力を生成します。このオプションをさらに多くの出力を生成するために複数回提供することができます。(たとえば、-v
-v
-v
はバッチモードでもテーブル出力形式を生成します)。
バージョン情報を表示し、閉じます。
クエリー出力行を垂直形式でプリントします。(カラム値ごとに一行)。このオプションを使用しない場合、\G
で消去することで個々のステートメントの縦の出力を特定することができます。
接続が確立できない場合、アボートせずに休止してから再トライします。
XML 出力を生成します。
MySQL 5.1.12
よりも前のバージョンでは、NULL
値が含まれるカラムと文字列リテラル
'NULL'
が含まれるカラムとでは、このオプションの使用時の出力に違いがありませんでした。どちらも次のように表現されていました。
<field name="column_name
">NULL</field>
MySQL 5.1.12
以降のバージョンでは、--xml
を mysql
で使用したときの出力は、mysqldump
--xml
の出力に相当します。.
詳細は、項3.4. 「mysqldump — データベースバックアッププログラム」を参照してください。
MySQL 5.1.18 以降のバージョンでは、次に示すように、XML 出力には XML 名前空間も使用されます。
shell> mysql --xml -uroot -e "SHOW VARIABLES LIKE 'version%'"
<?xml version="1.0"?>
<resultset statement="SHOW VARIABLES LIKE 'version%'" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<row>
<field name="Variable_name">version</field>
<field name="Value">5.0.40-debug</field>
</row>
<row>
<field name="Variable_name">version_comment</field>
<field name="Value">Source distribution</field>
</row>
<row>
<field name="Variable_name">version_compile_machine</field>
<field name="Value">i686</field>
</row>
<row>
<field name="Variable_name">version_compile_os</field>
<field name="Value">suse-linux-gnu</field>
</row>
</resultset>
(Bug#25946 を参照。)
--
を使用すれば、次の変数を設定することもできます。var_name
=value
--set-variable
形式は推奨されません。
接続タイムアウトまでの秒数。(そのデフォルトは
0
です。
サーバーから送受信される最大パケット長。(そのデフォルト値は 16M バイトです。
自動的に設定される--safe-updates
使用時の結合内にある行の制限です。(そのデフォルト値は
1,000,000 です。
TCP/IP とソケット通信のバッファーサイズ。(そのデフォルト値は 16K バイトです。
自動的に設定される--safe-updates
使用時の
SELECT
ステートメントの制限です。(そのデフォルト値は
1,000 です。
Unix では、mysql
クライアントは履歴ファイルに実行されたステートメントのレコードを書きます。デフォルトでは、このファイルは
.mysql_history
という名前で、ユーザーのホームディレクトリに作成されます。異なるファイルを特定したい場合、MYSQL_HISTFILE
環境変数値を設定してください。
.mysql_history
には機密情報 (パスワードを含む SQL
ステートメントのテキストなど)
が書き込まれることがあるため、そのファイルを制限アクセスモードで保護するようにしてください。End-User Guidelines for Password Security
を参照してください。
履歴ファイルを保持したくない場合、まず.mysql_history
が存在する場合消去し、以下の手段を用いてください。
MYSQL_HISTFILE
変数を/dev/null
に設定してください。ログインするたびにこのセッティングが効果を表すようにするには、このセッティングをシェルのスタートアップファイルのいずれかに置いてください。
.mysql_history
を/dev/null
に対してのシンボリックリンクとして作成してください。
shell> ln -s /dev/null $HOME/.mysql_history
これは一度だけ実行すれば事足ります。