web-dev-qa-db-ja.com

SSHトンネルを使用して、リモートサーバー上のMySQLにローカルSQLファイルをインポートする

PuTTY SSHトンネルを使用して、ローカルホストとリモートサーバー間を接続しています。

それはいいです。

ここで、ローカルマシン(つまり、c:\ folder\test.sql)でsqlファイルを取得し、リモートサーバーのmysqlにインポートするコマンドが必要です。

多分...

mysql -u prefix_username -p testpass -h localhost -P 3307 prefix_testdb

その後、次のようなコマンドを実行します

mysql -p testpass -u prefix_username prefix_testdb < c:\folder\test.sql 

このコマンドは機能しませんでした。

どうすればこれを達成できますか?

25
Jkk

このコマンドを実行する必要があります

mysql -h Host -u user_name -pPassword database < file.sql > output.log

file.sqlには実行するSQLクエリが含まれ、output.logは、何かを返すクエリ(selectなど)がある場合にのみ意味を持ちます。

コードで見ることができる唯一の違いは、-pオプションとパスワードの間の空白です。 -pオプションを使用する場合、空白を残さずにパスワードを書き込む必要があります。または、オプション--password = Passwordを使用できます

問題を解決できることを願っています

37
user2993479

Mysqlコマンドを追加して、リモートマシンにsshする必要があります。

ssh remote_user@remote_server mysql -p testpass -u username testdb < c:\folder\test.sql 
12
paulguy
 1. mysql -h xxx -uxxx -pxxx . //login to the remote mysql
 2. use DATABASE.             //assign which db to import
 3. source path/to/file.sql  //the path can be your local sql file path.

参照: SQLファイルをmysqlにインポート

10
Dai Kaixian

'scp'を使用してコピーし、mysqlを使用してローカルマシンに挿入します。

構文:

scp remote_user@remove_server:/path/to/sql/file.sql ~/path/to/local/directory

ファイルの転送後:

mysql -uYouUserName -p name_of_database_to_import_to < ~/path/to/local/directory/file.sql
4
cb0