このペジは機械翻訳したものです。

5.5コド履歴

MySQL壳で発行するコードは履歴に格納され,上下の矢印キーを使用してアクセスできます。増分履歴検索機能を使用して履歴を検索することもできます。履歴を検索するには,Ctrl + Rを使用して逆方向に検索するか,按Ctrl + Sを使用して履歴を順方向に検索します。検索がアクティブになったら,文字を入力すると,履歴内で一致する文字列が検索され,最初の一致が表示されます。按Ctrl + SまたはCtrl + Rを使用して,現在の検索語にさらに一致するものを検索します。さらに文字を入力すると,検索がさらに絞り込まれます。検索中に矢印キを押すと,現在の検索結果から履歴をステップ実行できます。输入を押して,表示された一致を受け入れます。Ctrl + Cを使用して検索を取り消します。

history.maxSizeMySQL Shell構成オプションでは,履歴に格納するエントリの最大数を設定します。デフォルトは1000です。履歴エントリの数が構成されている最大数を超えると,最も古いエントリが削除されて破棄されます。最大値を0に設定すると,履歴エントリは格納されません。

デフォルトでは,履歴はセッション間で保存されないため,MySQL壳を終了すると,現在のセッション中に発行した履歴は失われます。MySQL壳history.autoSaveオプションを有効にすると,セッション間の履歴を保存できます。たとえば,この変更を永続的にするには,次のコマンドを発行します:

mysqlsh-js> \option——persist history.autoSave=1

history.autoSaveオプションを有効にすると,履歴はMySQL壳構成パス(LinuxおよびmacOSの場合は~ / .mysqlshディレクトリ,Windowsの場合は% AppData % \ MySQL \ mysqlshフォルダ)に格納されます。このパスは,環境変数MYSQLSH_USER_CONFIG_HOMEを定義することで,すべてのプラットフォ。保存された履歴はMySQL壳によって自動的に作成され,所有者ユーザーのみが読み取ることができます。履歴ファイルの読取りまたは書込みができない場合,MySQL壳はエラーメッセージをログに記録し,読取りまたは書込み操作をスキップします。8.0.16より前のバージョンでは,履歴エントリは,すべてのMySQL壳言語で発行されたコードを含む単一の历史ファ邮箱ルに保存されていました。MySQL壳バージョン8.0.16以降では,履歴はアクティブな言語ごとに分割され,ファイルの名前はhistory.sqlhistory.jsおよびhistory.pyになります。

MySQL壳\历史コマンドを発行すると,\历史删除entry_numberコマンドで使用できる履歴エントリ番号とともに,発行された順序で履歴エントリが表示されます。個々の履歴エントリ,指定した数値範囲の履歴エントリまたは履歴の末尾を手動で削除できます。\历史清楚を使用して,履歴全体を手動で削除することもできます。MySQL Shellを終了すると,history.autoSave構成オプションが真正的に設定されている場合,履歴ファイルに残っている履歴エントリが保存され,その番号付けは1から始まるようにリセットされます。shell.options(“history.autoSave”)構成オプションが(デフォルト)に設定されている場合,履歴ファ电子书ルはクリアされます。

MySQL Shellプロンプトで対話形式で入力したコドのみが履歴に追加されます。間接的または内部的に実行されるコド(\源コマンドの実行時など)は,履歴に追加されません。複数行コドを発行すると,履歴エントリ内の改行文字が削除されます。同じコドが複数回発行された場合は,履歴に一度のみ格納されるため,重複が削減されます。

——histignoreコマンドオプションを使用して、履歴に追加されるエントリをカスタマ以及ズできます。また,MySQL壳牌をSQLモードで使用する場合は,履歴に追加しない文字列を構成できます。この履歴無視リストは,\ sqlコマンドをクエリーとともに使用して,別の言語がアクティブなときに単一のSQLステートメントを実行する場合にも適用されます。

デフォルトでは,确认または密码のglobパタンに一致する文字列は履歴に追加されません。一致する文字列をさらに構成するには,——histignoreコマンドオプションまたはshell.options(“history.sql.ignorePattern”)を使用します。コロン(:)で区切って,複数の文字列を指定できます。履歴照合では,大/小文字を区別しないglobパタン(照合など)が使用されます。サポトされているワルドカドは,*(0文字以上に一致)および?(1文字に完全に一致)です。デフォルトの文字列は“密码*确定*:* *”として指定されます。

履歴無視リストに設定されているフィルタに関係なく,最後に実行されたステートメントは常に上向き矢印を押してリコールできるため,すべての入力を再入力せずに修正できます。フィルタリングが最後に実行されたステートメントに適用される場合,別のステートメントが入力されるとすぐに,またはステートメントの実行直後にMySQL壳を終了すると,そのステートメントは履歴から削除されます。