次のようなinit.sql
スクリプト(データベースの作成、プロシージャの作成、テーブルの作成、データの挿入を含む)ファイルを実行しようとしています。
mysql.exe -u root -p <password> <my_db> < init.sql
。しかし、この行を呼び出した後、以下のような出力が表示され、データベースに何も起こらない理由がわかりませんか?!
Windows 10(1809)
8.0.17
x86_64上のWin64用のmysqlVer 8.0.17(MySQL Community Server-GPL)Copyright(c)2000、2019、Oracleおよび/またはその関連会社。全著作権所有。
Oracleは、OracleCorporationおよび/またはその関連会社の登録商標です。その他の名前は、それぞれの所有者の商標である可能性があります。
使用法:mysql [OPTIONS] [database]-?、-helpこのヘルプを表示して終了します。-I、-help同義語-?--auto-rehash
自動再ハッシュを有効にします。テーブルとフィールドを完了するために「rehash」を使用する必要はありませんが、起動と再接続には時間がかかる場合があります。--disable-auto-rehashで無効にします。(デフォルトはオンです。無効にするには--skip-auto-rehashを使用します。)-A、-no-auto-rehash自動再ハッシュはありません。テーブルとフィールドの補完を取得するには、「rehash」を使用する必要があります。これにより、mysqlの起動が速くなり、再接続時の再ハッシュが無効になります。--auto-vertical-output結果が端子幅よりも広い場合、自動的に垂直出力モードに切り替わります。-B、-batch履歴ファイルは使用しません。インタラクティブな動作を無効にします。(--silentを有効にします。)-bind-address = nameバインドするIPアドレス。--binary-as-hexバイナリデータを16進数で出力します
--character-sets-dir = name文字セットファイルのディレクトリ。--column-type-info列タイプ情報を表示します。-c、-commentsコメントを保持します。サーバーにコメントを送信します。デフォルトは--skip-comments(コメントの破棄)で、-commentsで有効にします。-C、-compressサーバー/クライアントプロトコルで圧縮を使用します。-#、-debug [=#]これは非デバッグバージョンです。これをキャッチして終了します。--debug-checkこれは非デバッグバージョンです。これをキャッチして終了します。-T、-debug-infoこれは非デバッグバージョンです。これをキャッチして終了します。-D、-database = name使用するデータベース。--default-character-set = nameデフォルトの文字セットを設定します。--delimiter = name使用する区切り文字。--enable-cleartext-pluginクリアテキスト認証プラグインを有効/無効にします。-e、-execute = nameコマンドを実行して終了します。(--forceおよび履歴ファイルを無効にします。)-E、--verticalクエリ(行)の出力を垂直に出力します。-f、-forceSQLエラーが発生しても続行します。--histignore = nameステートメントがsyslogおよびmysqlの履歴に記録されないようにするためのコロンで区切られたパターンのリスト。-G、-named-commands名前付きコマンドを有効にします。名前付きコマンドは、このプログラムの内部コマンドを意味します。mysql> helpを参照してください。有効にすると、名前付きコマンドはクエリの任意の行から使用できます。それ以外の場合は、入力前の最初の行からのみ使用できます。--disable-named-commandsで無効にします。このオプションはデフォルトで無効になっています。-i、-ignore-spaces関数名の後のスペースを無視します。--init-command = nameMySQLサーバーに接続するときに実行するSQLコマンド。再接続時に自動的に再実行されます。--local-infile LOAD DATA LOCALINFILEを有効/無効にします。-b、-no-beepエラー時にビープ音をオフにします。-h、--host = nameホストに接続します。-H、-htmlHTML出力を生成します。-X、-xmlXML出力を生成します。-行番号
エラーの行番号を書き込みます。(デフォルトはオンです。無効にするには--skip-line-numbersを使用します。)-L、-skip-line-numbersエラーの行番号を書き込まないでください。-n、-unbuffered各クエリの後にバッファをフラッシュします。--column-names結果に列名を書き込みます。(デフォルトはオンです。無効にするには--skip-column-namesを使用します。)-N、-skip-column-names結果に列名を書き込みません。--sigint-ignore SIGINTを無視します(CTRL-C)。-o、-one-databaseデフォルトのデータベースがコマンドラインで指定されたデータベースであるときに発生するステートメントを除いて、ステートメントを無視します。-p、-password [= name]サーバーに接続するときに使用するパスワード。パスワードが指定されていない場合は、ttyから要求されます。-W、-pipe名前付きパイプを使用してサーバーに接続します。-P、-port =#接続に使用するポート番号またはデフォルトの0。優先順に、my.cnf、$ MYSQL_TCP_PORT、/ etc / services、組み込みのデフォルト(3306)。--prompt = namemysqlプロンプトをこの値に設定します。--protocol = name接続に使用するプロトコル(tcp、ソケット、パイプ、メモリ)。-q、-quick結果をキャッシュせず、行ごとに出力します。これにより、出力が一時停止されている場合にサーバーの速度が低下する可能性があります。履歴ファイルを使用しません。-r、-raw変換せずにフィールドを書き込みます。--batchとともに使用されます。--reconnect接続が失われた場合は再接続します。--disable-reconnectで無効にします。このオプションはデフォルトで有効になっています。(デフォルトはオンです。無効にするには--skip-reconnectを使用します。)-s、-silentより静かにします。タブを区切り文字として、各行を新しい行に出力して結果を印刷します。--shared-memory-base-name = name共有メモリのベース名。-S、-socket = name接続に使用するソケットファイル。--server-public-key-path = namePEM形式のサーバー公開RSAキーへのファイルパス。--get-server-public-keyサーバーの公開鍵を取得します--ssl-mode = nameSSL接続モード。--ssl-ca = nameCAファイル(PEM形式)。
--ssl-capath = nameCAディレクトリ。--ssl-cert = namePEM形式のX509証明書。--ssl-cipher = name使用するSSL暗号。--ssl-key = namePEM形式のX509キー。--ssl-crl = name証明書失効リスト。--ssl-crlpath = name証明書失効リストのパス。
--tls-version = name使用するTLSバージョン、許可される値は次のとおりです。TLSv1、TLSv1.1、TLSv1.2、TLSv1.3 --ssl-fips-mode = name SSL FIPSモード(OpenSSLにのみ適用)。許可される値は次のとおりです。OFF、ON、STRICT --tls-ciphersuites = name使用するTLSv1.3暗号。-t、-table表形式で出力します。--tee = nameすべてをoutfileに追加します。インタラクティブヘルプ(\ h)も参照してください。バッチモードでは機能しません。--disable-teeで無効にします。このオプションはデフォルトで無効になっています。-u、-user = name現在のユーザーでない場合は、ログイン用のユーザー。
-U、-safe-updatesキーを使用するUPDATEとDELETEのみを許可します。-U、-i-am-a-dummyオプション--safe-updates、-Uの同義語。-v、-verbose詳細を記述します。(-v -v -vは、テーブルの出力形式を示します)。-V、-versionバージョン情報を出力して終了します。-w、-wait接続がダウンしている場合は、待機して再試行します。--connect-timeout =#接続タイムアウトまでの秒数。--max-allowed-packet =#サーバーとの間で送受信する最大パケット長。--net-buffer-length =#TCP / IPおよびソケット通信のバッファサイズ。--select-limit =#-safe-updatesを使用する場合のSELECTの自動制限。--max-join-size =#-safe-updatesを使用する場合の結合内の行の自動制限。--show-warningsすべてのステートメントの後に警告を表示します。-j、-syslogフィルタリングされたインタラクティブコマンドをsyslogに記録します。コマンドのフィルタリングは、デフォルトのパターンに加えて、histignoreオプションを介して提供されるパターンに依存します。--plugin-dir = nameクライアント側プラグインのディレクトリ。--default-auth = name使用するデフォルトの認証クライアント側プラグイン。--binary-modeデフォルトでは、ASCII '\ 0'は許可されておらず、 '\ r \ n'は '\ n'に変換されます。このスイッチは、両方の機能をオフにし、非対話型モード(mysqlにパイプされた入力または「source」コマンドを使用してロードされた入力の場合)で、\ CとDELIMITERを除くすべてのクライアントコマンドの解析もオフにします。これは、blobを含む可能性のあるmysqlbinlogからの出力を処理するときに必要です。--connect-expired-passwordこのクライアントが期限切れのパスワードサンドボックスモードを処理する準備ができていることをサーバーに通知します。--default-auth = name使用するデフォルトの認証クライアント側プラグイン。--binary-modeデフォルトでは、ASCII '\ 0'は許可されておらず、 '\ r \ n'は '\ n'に変換されます。このスイッチは、両方の機能をオフにし、非対話型モード(mysqlにパイプされた入力または「source」コマンドを使用してロードされた入力の場合)で、\ CとDELIMITERを除くすべてのクライアントコマンドの解析もオフにします。これは、blobを含む可能性のあるmysqlbinlogからの出力を処理するときに必要です。--connect-expired-passwordこのクライアントが期限切れのパスワードサンドボックスモードを処理する準備ができていることをサーバーに通知します。--default-auth = name使用するデフォルトの認証クライアント側プラグイン。--binary-modeデフォルトでは、ASCII '\ 0'は許可されておらず、 '\ r \ n'は '\ n'に変換されます。このスイッチは、両方の機能をオフにし、非対話型モード(mysqlにパイプされた入力または「source」コマンドを使用してロードされた入力の場合)で、\ CとDELIMITERを除くすべてのクライアントコマンドの解析もオフにします。これは、blobを含む可能性のあるmysqlbinlogからの出力を処理するときに必要です。--connect-expired-passwordこのクライアントが期限切れのパスワードサンドボックスモードを処理する準備ができていることをサーバーに通知します。非対話モード(mysqlにパイプされた入力、または「source」コマンドを使用してロードされた入力の場合)。これは、blobを含む可能性のあるmysqlbinlogからの出力を処理するときに必要です。--connect-expired-passwordこのクライアントが期限切れのパスワードサンドボックスモードを処理する準備ができていることをサーバーに通知します。非対話モード(mysqlにパイプされた入力、または「source」コマンドを使用してロードされた入力の場合)。これは、blobを含む可能性のあるmysqlbinlogからの出力を処理するときに必要です。--connect-expired-passwordこのクライアントが期限切れのパスワードサンドボックスモードを処理する準備ができていることをサーバーに通知します。デフォルトのオプションは、次のファイルから指定された順序で読み取られます。C:\ WINDOWS \ my.ini C:\ WINDOWS \ my.cnf C:\ my.ini C:\ my.cnf C:\ Program Files \ MySQL \ my .ini C:\ Program Files \ MySQL \ my.cnf次のグループが読み取られます。mysqlclient最初の引数として、次のオプションを指定できます。--print-defaultsプログラム引数リストを出力して終了します。--no-defaultsログインファイルを除いて、オプションファイルからデフォルトオプションを読み取らないでください。--defaults-file =#指定されたファイルからデフォルトオプションのみを読み取ります#。--defaults-extra-file =#グローバルファイルが読み取られた後、このファイルを読み取ります。--defaults-group-suffix =#concat(group、suffix)を使用してグループも読み取ります--login-path =#ログインファイルからこのパスを読み取ります。
変数(--variable-name = value)とブールオプション{FALSE | TRUE}値(オプションを読み取った後)-------------------------- -----------------------------------------------自動再ハッシュTRUE自動垂直出力FALSEバインドアドレス
(デフォルト値なし)binary-as-hex FALSE文字セットディレクトリ(デフォルト値なし)column-type-infoFALSEコメントFALSE圧縮
FALSEデータベース(デフォルト値なし)default-character -自動区切り文字を設定し
ます; enable-cleartext-
pluginFALSE垂直FALSEforce FALSE histignore
(デフォルト値なし)named-commands FALSE ignore-spaces FALSE init-command
(デフォルト値なし)local-infile FALSE no-beep
FALSE host(デフォルト値なし)html
FALSE xml FALSE行番号
TRUEバッファなしFALSE列名
TRUE sigint-ignoreFALSEポート
0プロンプトmysql> quick
FALSE raw FALSE reconnect
FALSE shared-memory-base-name(デフォルト値なし)socket
(デフォルト値なし)server-public-key-path(デフォルト値なし)get-server- public-key FALSE ssl-ca
(デフォルト値なし)ssl-capath(デフォルト値なし)ssl-cert(デフォルト値なし)ssl-cipher(デフォルト値なし)ssl-key(デフォルト値なし)ssl-crl(デフォルトなしvalue)ssl-crlpath(デフォルト値なし)tls-version
(デフォルト値なし)tls-ciphersuites(デフォルト値なし)table FALSE user
root safe-updates FALSE i-am-a-dummy
FALSE connect-timeout 0 max-allowed-パケット
16777216net-buffer-length 16384 select-limit
1000 max-join-size 1000000 show-warnings
FALSE plugin-dir(デフォルト値なし)default-auth(デフォルト値なし)binary-mode
FALSE connect-expired-password FALSE
表示した出力は、mysqlクライアントのヘルプ出力です。init.sqlスクリプトはまったく実行されませんでした。クライアントを呼び出すコマンドを理解していなかったため、それほど遠くはありませんでした。
Windowsを使用<
していませんが、Powershellでは入力リダイレクトが機能しないことを理解しています。入力リダイレクトを使用せずに、別の方法でSQLスクリプトを実行できます。
mysql ...options... -e "source init.sql"
また-p
、-p
とパスワードの間にスペースがあると、mysqlクライアントのオプションが機能しないことを理解する必要があります。
次のいずれかを使用します。
mysql -p<password> ...
または:
mysql --password=<password> ...
しかし、私の好みは、ユーザー名とパスワードをコマンドラインにまったく入れないことです。ここで説明されているオプションファイルにそれらを配置します:https://dev.mysql.com/doc/refman/8.0/en/option-files.html
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加