2017-02-08 16 views
0

私は自分のローカルマシンの多くにmysqlをインストールし、特定のテーブルのすべてのデータをリモートサーバにダンプしようとしています。テーブル内のデータベース名、テーブル名、およびフィールドはまったく同じです。以前私は各ローカルマシン上にダンプを作成し、そのダンプをサーバーにコピーしてテーブルに読み込んでいました。今私は直接テーブルの内容をコピーして、リモートサーバーに追加しようとしています。ローカルのmysqlからリモートのmysqlにテーブルを転送する

the machine id : XYZ123  
the database name: mydatabase, 
the table name: DT 
the table fields are: Date and Time. 

上記は両方のマシンで同じです。

私は私のローカルマシン上で、次のコードを使用しています:

mysqldump -u root mydatabase DT | ssh [email protected] mysql -u root -p 'ABCDEF' mydatabase DT 

私はssh-hを使用して試してみました....しかし、それは助けにはなりませんでした。しかし、それぞれのマシンのscpが動作しています。

ローカルのmysqlのパスワードがありません。上記のコードを入力すると、私が提供しているリモートサーバーのパスワードを入力するように求められます。その後、私は画面にダンプされた詳細を取得しており、データ転送は行われません。考えられる問題は何か?

mysql Ver 14.14 Distrib 5.6.32, for Linux (x86_64) using EditLine wrapper 
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. 

Oracle is a registered trademark of Oracle Corporation and/or its 
affiliates. Other names may be trademarks of their respective 
owners. 

Usage: mysql [OPTIONS] [database] 
    -?, --help   Display this help and exit. 
    -I, --help   Synonym for -? 
    --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.) 
    --bind-address=name IP address to bind to. 
    --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. 
    --enable-cleartext-plugin 
         Enable/disable the clear text authentication plugin. 
    -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. 
    -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 MySQL 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). 
    --prompt=name  Set the mysql prompt to this value. 
    --protocol=name  The protocol to use for connection (tcp, socket, pipe, 
         memory). 
    -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). 
    --ssl-verify-server-cert 
         Verify server's "Common Name" in its cert against 
         hostname used when connecting. This option is disabled by 
         default. 
    --ssl-mode=name  SSL connection mode. 
    -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. 
         (Defaults to on; use --skip-secure-auth to disable.) 
    --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. 
    --histignore=name A colon-separated list of patterns to keep statements 
         from getting logged into mysql history. 
    --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. 

Default options are read from the following files in the given order: 
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf 
The following groups are read: mysql client 
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, 
         except for login file. 
--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=# 
         Also read groups with concat(group, suffix) 
--login-path=#   Read this path from the login file. 

Variables (--variable-name=value) 
and boolean options {FALSE|TRUE} Value (after reading options) 
--------------------------------- ---------------------------------------- 
auto-rehash      TRUE 
auto-vertical-output    FALSE 
bind-address      (No default value) 
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       ; 
enable-cleartext-plugin   FALSE 
vertical       FALSE 
force        FALSE 
named-commands     FALSE 
ignore-spaces      FALSE 
init-command      (No default value) 
local-infile      FALSE 
no-beep       FALSE 
host        (No default value) 
html        FALSE 
xml        FALSE 
line-numbers      TRUE 
unbuffered      FALSE 
column-names      TRUE 
sigint-ignore      FALSE 
port        0 
prompt       mysql> 
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) 
ssl-verify-server-cert   FALSE 
table        FALSE 
user        root 
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      TRUE 
show-warnings      FALSE 
plugin-dir      (No default value) 
default-auth      (No default value) 
histignore      (No default value) 
binary-mode      FALSE 
connect-expired-password   FALSE 
+1

リモートの 'mysql'のように見えますが、コマンドライン引数を理解できないためエラーです。 'mysql -u root -p 'ABCDEF' mydatabase DT'オプションを指定しました。mysqlは' DT'引数をどうしたらいいのか分かりません。実際には、mysqldumpはあらかじめ特定の名前のテーブルに値を挿入している合理的なSQLを提供しなければならないので、mysqlに指定する必要はありません。 – yeputons

+1

tl; dr: 'mysql'引数(' mysqldump'ではなく)から 'DT'引数を削除してください – yeputons

+0

@yeputons問題を解決しました....そして、' -p'と 'ABCDEF'の間にスペースがありました。 ..私がそれらを取り除いたとき...データ転送が起こった。お返事ありがとうございます... – Apricot

答えて

1

あなたのmysql引数からDT引数を削除する必要があります。その理由は、mysqlデータベース(データベース内のテーブルではありません)に接続し、一連のSQLクエリが来ると予想しているため、各SQLクエリには、変更されているテーブルに関する情報が含まれています。

mysqldumpは、実行時に特定のテーブルにデータを挿入するような一連のSQLクエリを生成します。したがって、どのテーブルをダンプするのか、どのテーブルの名前をSQLクエリ内で指定するのかを知る必要があります。

ヒント:アプリケーションが妥当なことをするのではなくヘルプを表示すると、通常はコマンドライン引数を解析できなかったためです(例:不明なオプション、多すぎる引数、少なすぎる引数)。

関連する問題