私はCLIを介してSQLファイルをインポートする方法を知っています:
mysql -u USER -p DBNAME < dump.sql
ただし、dump.sqlファイルがローカルの場合です。リモートサーバー上のファイルをどのように使用できますか?
私はCLIを介してSQLファイルをインポートする方法を知っています:
mysql -u USER -p DBNAME < dump.sql
ただし、dump.sqlファイルがローカルの場合です。リモートサーバー上のファイルをどのように使用できますか?
リモートサーバーへのネットワークアクセスについては言及していません。
リモートサーバーへの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
ローカル VM のスペースが非常に不足していたので、これに追加しようと思いましたが、リモート サーバーに .sql ファイルが既に存在する場合は追加できます。
ssh <ip-address> "cat /path/to/db.sql" | mysql -u <user> -p<password> <dbname>
wgetを使用して、ファイルにダウンロードするか、パイプで接続します。