7

私はCLIを介してSQLファイルをインポートする方法を知っています:

mysql -u USER -p DBNAME < dump.sql

ただし、dump.sqlファイルがローカルの場合です。リモートサーバー上のファイルをどのように使用できますか?

4

3 に答える 3

24

リモートサーバーへのネットワークアクセスについては言及していません。

リモートサーバーへのSSHアクセスがあると仮定すると、リモートmysqldumpの結果をmysqlコマンドにパイプできます。これをテストしたところ、正常に動作します。

ssh remote.com "mysqldump remotedb" | mysql localdb

私はuser、password、hostのようなものを入れている.my.cnfので、常にそれらを入力しているわけではありません-マルチユーザーシステムのセキュリティにとって迷惑で悪いです、あなたはパスワードをクリアテキストでbash_historyに入れています!-u -p -hただし、必要に応じて、両端に簡単に追加できます。

ssh remote.com "mysqldump -u remoteuser -p'remotepass' remotedb" | mysql -u localuser -p'localpass' localdb

最後に、パイプを介しgzipてネットワーク経由でデータを圧縮できます。

ssh remote.com "mysqldump remotedb | gzip" | gzip -d | mysql localdb
于 2008-10-29T20:39:43.363 に答える
3

ローカル VM のスペースが非常に不足していたので、これに追加しようと思いましたが、リモート サーバーに .sql ファイルが既に存在する場合は追加できます。

ssh <ip-address> "cat /path/to/db.sql" | mysql -u <user> -p<password> <dbname>
于 2015-07-30T15:19:05.250 に答える
0

wgetを使用して、ファイルにダウンロードするか、パイプで接続します。

于 2008-10-29T20:08:08.637 に答える