以下工作如预期:
# mysqldump -uroot -pPasswd central conc_passenger --no-create-info --compact | mysql -h192.168.50.51 mysql -uroot -pPassWord someDB
这也适用于:
# mysqldump -uroot -pPasswd central conc_passenger --no-create-info --compact | gzip | ssh 192.168.50.51 "gunzip | mysql -uroot -pPassWord someDB"
但是,当我没有SSH访问远程服务器,如何提取数据? 这不行的::
# mysqldump -uroot -pPasswd central conc_passenger --no-create-info --compact | gzip | "gunzip | mysql -uroot -pPassWord someDB # mysqldump -uroot -pPasswd central conc_passenger --no-create-info --compact | gzip | "gunzip | mysql -uroot -pPassWord someDB ”
gzip和gunzip只能通过ssh连接更快地发送数据。 它不会更快地将任何数据加载到mysql,而是在调用mysql命令加载它时完全解压缩。
尝试以下方法之一:
mysqldump -uroot -pPasswd central conc_passenger --no-create-info --compact | mysql -uroot -pPassWord someDB
或者,使用压缩来加速客户端和服务器之间的直接传输(如果客户端和服务器都支持的话)尝试:
mysqldump -uroot -pPasswd central conc_passenger --no-create-info --compact | mysql -uroot -pPassWord --compress someDB
第二个和第一个是一样的,但是在mysql客户端添加了'–compress'。
来源: mysql命令选项
或者,如果你真的必须的话,总是有一个老待机:复制和粘贴(是的,真的):
mysqldump -uroot -pPasswd central conc_passenger --no-create-info --compact | gzip | base64
然后将该命令的输出代替B64DATA :
echo 'B64DATA' | base64 -id | zcat | mysql -uroot -pPasswd someDB
并在远程主机上运行。 是的,有更好的办法,但是当你只需要将几十KB的文件从一个地方移动到另一个地方时,每个窗口都在六个级联的terminal会话结束时,利用你已经有两个窗口的事实在你的graphics用户界面可以成为救星。