我知道如何通过cli导入sql文件:
mysql -u USER -p DBNAME < dump.sql
但是,如果dump.sql文件是本地的.我怎么能在远程服务器上使用文件?
您没有说明您对远程服务器的网络访问权限.
假设您具有对远程服务器的SSH访问权限,则可以将远程mysqldump的结果通过管道传递给mysql命令.我刚试过这个,它运行正常:
ssh remote.com "mysqldump remotedb" | mysql localdb
我把用户,密码,主机之类的东西放进去,.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