我知道如何通过CLI导入SQL文件:mysql的输入SQL从远程服务器
mysql -u USER -p DBNAME < dump.sql
但这是如果dump.sql文件是本地的。我怎么能在远程服务器上使用文件?
我知道如何通过CLI导入SQL文件:mysql的输入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
我会使用wget要么将它下载到文件或管道它。
只是想我因为我本地虚拟机上的空间严重不足,但是如果.sql文件已存在于远程服务器上,那么您可以这样做;
ssh <ip-address> "cat /path/to/db.sql" | mysql -u <user> -p<password> <dbname>
当我迁移服务器时,这帮了我很大的忙。希望提问者可以选择这个作为问题的答案。 – Nikko 2011-12-13 16:19:20