我需要从一台服务器到另一台服务器执行单个表的mysqldump。
如果我转储整个数据库一切顺利:
mysqldump {database_name} | mysql -h {host_name} -u {user_name} -p{password} {database_name}
但是如果我尝试像这样转储一个表:
mysqldump {database_name} {table} | mysql -h {host_name} -u {user_name} -p{password} {database_name} {table}
我得到:“mysqldump:写错了32。”
有人知道造成这种情况的原因是什么吗?
由于
答案 0 :(得分:1)
错误32是“破管”。这意味着在读取写入管道的所有内容之前退出读取过程。
问题是你给mysql
命令提供了不正确的参数。它的末尾不应该有一个表名。它只执行管道传输给它的转储文件中的命令。将表名放在mysqldump
命令中时,转储文件将只包含该表。