无法从命令行运行SQL脚本

问题描述

出于开发和测试目的,我倾向于在本地重新安装API,并且希望编写命令脚本。 因此,我尝试用等效的命令行替换通过MySQL Workbench> Run SQL Script...> DumpFile.sql运行SQL脚本的步骤。

这是到目前为止我得到的:

docker-compose build
docker-compose up -d
unzip Dump20200513.sql.zip
mysql -h 127.0.0.1 -u user -p password —port=9906 database < Dump20200513.sql
docker-compose exec php /bin/sh

带有mysql -h 127.0.0.1 -u user -p password —port=9906 database < Dump20200513.sql的行似乎不起作用:

➜  web_api_symfony git:(resolvers) ✗ mysql -h 127.0.0.1 -u user -p password —port=9906 database < Dump20200513.sql

mysql  Ver 15.1 Distrib 10.4.13-MariaDB,for osx10.14 (x86_64) using readline 5.1
Copyright (c) 2000,2018,Oracle,MariaDB Corporation Ab and others.

Usage: mysql [OPTIONS] [database]

Default options are read from the following files in the given order:
/usr/local/etc/my.cnf ~/.my.cnf
The following groups are read: mysql mariadb-client client client-server client-mariadb
The following options may be given as the first argument:
--print-defaults          Print the program argument list and exit.
--no-defaults             Don't read default options from any option file.
The following specify which files/extra groups are read (specified before remaining options):
--defaults-file=#         Only read default options from the given file #.
--defaults-extra-file=#   Read this file after the global files are read.
--defaults-group-suffix=# Additionally read default groups with # appended as a suffix.

  -?,--help          Display this help and exit.
  -I,--help          Synonym for -?
  --abort-source-on-error
                      Abort 'source filename' operations in case of errors
  --auto-rehash       Enable automatic rehashing. One doesn't need to use
                      'rehash' to get table and field completion,but startup
                      and reconnecting may take a longer time. Disable with
                      --disable-auto-rehash.
                      (Defaults to on; use --skip-auto-rehash to disable.)
  -A,--no-auto-rehash
                      No automatic rehashing. One has to use 'rehash' to get
                      table and field completion. This gives a quicker start of
                      mysql and disables rehashing on reconnect.
  --auto-vertical-output
                      Automatically switch to vertical output mode if the
                      result is wider than the terminal width.
  -B,--batch         Don't use history file. Disable interactive behavior.
                      (Enables --silent.)
  --binary-as-hex     Print binary data as hex
  --character-sets-dir=name
                      Directory for character set files.
  --column-type-info  Display column type information.
  -c,--comments      Preserve comments. Send comments to the server. The
                      default is --skip-comments (discard comments),enable
                      with --comments.
  -C,--compress      Use compression in server/client protocol.
  -#,--debug[=#]     This is a non-debug version. Catch this and exit.
  --debug-check       Check memory and open file usage at exit.
  -T,--debug-info    Print some debug info at exit.
  -D,--database=name Database to use.
  --default-character-set=name
                      Set the default character set.
  --delimiter=name    Delimiter to be used.
  -e,--execute=name  Execute command and quit. (Disables --force and history
                      file.)
  -E,--vertical      Print the output of a query (rows) vertically.
  -f,--force         Continue even if we get an SQL error. Sets
                      abort-source-on-error to 0
  -G,--named-commands
                      Enable named commands. Named commands mean this program's
                      internal commands; see mysql> help . When enabled,the
                      named commands can be used from any line of the query,otherwise only from the first line,before an enter.
                      Disable with --disable-named-commands. This option is
                      disabled by default.
  -i,--ignore-spaces Ignore space after function names.
  --init-command=name SQL Command to execute when connecting to MariaDB server.
                      Will automatically be re-executed when reconnecting.
  --local-infile      Enable/disable LOAD DATA LOCAL INFILE.
  -b,--no-beep       Turn off beep on error.
  -h,--host=name     Connect to host.
  -H,--html          Produce HTML output.
  -X,--xml           Produce XML output.
  --line-numbers      Write line numbers for errors.
                      (Defaults to on; use --skip-line-numbers to disable.)
  -L,--skip-line-numbers
                      Don't write line number for errors.
  -n,--unbuffered    Flush buffer after each query.
  --column-names      Write column names in results.
                      (Defaults to on; use --skip-column-names to disable.)
  -N,--skip-column-names
                      Don't write column names in results.
  --sigint-ignore     Ignore SIGINT (CTRL-C).
  -o,--one-database  Ignore statements except those that occur while the
                      default database is the one named at the command line.
  --pager[=name]      Pager to use to display results. If you don't supply an
                      option,the default pager is taken from your ENV variable
                      PAGER. Valid pagers are less,more,cat [> filename],etc. See interactive help (\h) also. This option does not
                      work in batch mode. Disable with --disable-pager. This
                      option is disabled by default.
  -p,--password[=name]
                      Password to use when connecting to server. If password is
                      not given it's asked from the tty.
  -P,--port=#        Port number to use for connection or 0 for default to,in
                      order of preference,my.cnf,$MYSQL_TCP_PORT,/etc/services,built-in default (3306).
  --progress-reports  Get progress reports for long running commands (like
                      ALTER TABLE)
                      (Defaults to on; use --skip-progress-reports to disable.)
  --prompt=name       Set the command line prompt to this value.
  --protocol=name     The protocol to use for connection (tcp,socket,pipe).
  -q,--quick         Don't cache result,print it row by row. This may slow
                      down the server if the output is suspended. Doesn't use
                      history file.
  -r,--raw           Write fields without conversion. Used with --batch.
  --reconnect         Reconnect if the connection is lost. Disable with
                      --disable-reconnect. This option is enabled by default.
                      (Defaults to on; use --skip-reconnect to disable.)
  -s,--silent        Be more silent. Print results with a tab as separator,each row on new line.
  -S,--socket=name   The socket file to use for connection.
  --ssl               Enable SSL for connection (automatically enabled with
                      other flags).
  --ssl-ca=name       CA file in PEM format (check OpenSSL docs,implies
                      --ssl).
  --ssl-capath=name   CA directory (check OpenSSL docs,implies --ssl).
  --ssl-cert=name     X509 cert in PEM format (implies --ssl).
  --ssl-cipher=name   SSL cipher to use (implies --ssl).
  --ssl-key=name      X509 key in PEM format (implies --ssl).
  --ssl-crl=name      Certificate revocation list (implies --ssl).
  --ssl-crlpath=name  Certificate revocation list path (implies --ssl).
  --tls-version=name  TLS protocol version for secure connection.
  --ssl-verify-server-cert
                      Verify server's "Common Name" in its cert against
                      hostname used when connecting. This option is disabled by
                      default.
  -t,--table         Output in table format.
  --tee=name          Append everything into outfile. See interactive help (\h)
                      also. Does not work in batch mode. Disable with
                      --disable-tee. This option is disabled by default.
  -u,--user=name     User for login if not current user.
  -U,--safe-updates  Only allow UPDATE and DELETE that uses keys.
  -U,--i-am-a-dummy  Synonym for option --safe-updates,-U.
  -v,--verbose       Write more. (-v -v -v gives the table output format).
  -V,--version       Output version information and exit.
  -w,--wait          Wait and retry if connection is down.
  --connect-timeout=# Number of seconds before connection timeout.
  --max-allowed-packet=#
                      The maximum packet length to send to or receive from
                      server.
  --net-buffer-length=#
                      The buffer size for TCP/IP and socket communication.
  --select-limit=#    Automatic limit for SELECT when using --safe-updates.
  --max-join-size=#   Automatic limit for rows in a join when using
                      --safe-updates.
  --secure-auth       Refuse client connecting to server if it uses old
                      (pre-4.1.1) protocol.
  --server-arg=name   Send embedded server this as a parameter.
  --show-warnings     Show warnings after every statement.
  --plugin-dir=name   Directory for client-side plugins.
  --default-auth=name Default authentication client-side plugin to use.
  --binary-mode       By default,ASCII '\0' is disallowed and '\r\n' is
                      translated to '\n'. This switch turns off both features,and also turns off parsing of all clientcommands except
                      \C and DELIMITER,in non-interactive mode (for input
                      piped to mysql or loaded using the 'source' command).
                      This is necessary when processing output from mysqlbinlog
                      that may contain blobs.
  --connect-expired-password
                      Notify the server that this client is prepared to handle
                      expired password sandbox mode even if --batch was
                      specified.

Variables (--variable-name=value)
and boolean options {FALSE|TRUE}  Value (after reading options)
--------------------------------- ----------------------------------------
abort-source-on-error             FALSE
auto-rehash                       TRUE
auto-vertical-output              FALSE
binary-as-hex                     FALSE
character-sets-dir                (No default value)
column-type-info                  FALSE
comments                          FALSE
compress                          FALSE
debug-check                       FALSE
debug-info                        FALSE
database                          (No default value)
default-character-set             auto
delimiter                         ;
vertical                          FALSE
force                             FALSE
named-commands                    FALSE
ignore-spaces                     FALSE
init-command                      (No default value)
local-infile                      FALSE
no-beep                           FALSE
host                              127.0.0.1
html                              FALSE
xml                               FALSE
line-numbers                      TRUE
unbuffered                        FALSE
column-names                      TRUE
sigint-ignore                     FALSE
port                              0
progress-reports                  FALSE
prompt                            \N [\d]>
protocol
quick                             FALSE
raw                               FALSE
reconnect                         FALSE
socket                            (No default value)
ssl                               FALSE
ssl-ca                            (No default value)
ssl-capath                        (No default value)
ssl-cert                          (No default value)
ssl-cipher                        (No default value)
ssl-key                           (No default value)
ssl-crl                           (No default value)
ssl-crlpath                       (No default value)
tls-version                       (No default value)
ssl-verify-server-cert            FALSE
table                             FALSE
user                              user
safe-updates                      FALSE
i-am-a-dummy                      FALSE
connect-timeout                   0
max-allowed-packet                16777216
net-buffer-length                 16384
select-limit                      1000
max-join-size                     1000000
secure-auth                       FALSE
show-warnings                     FALSE
plugin-dir                        (No default value)
default-auth                      (No default value)
binary-mode                       FALSE
connect-expired-password          FALSE
➜  web_api_symfony git:(resolvers) ✗

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)