如何在不使用mysqldump的情况下转储mysql表?

如何在不使用mysqldump的情况下转储mysql表?,mysql,dump,Mysql,Dump,我需要倒一张桌子,以便每天转车。 mysqldump需要锁表特权。不幸的是,锁表不适用于表级别,只适用于数据库级别,我不想给MySQL用户那么多的访问权限。 有没有一种方法可以做到像 /usr/bin/mysql -uusername -ppassword -D daterbase -e "select * from table" > outfile.sql 。。。但它是否以SQL格式而不是查询结果格式输出 如果该表是InnoDB表,则可以使用mysqldump--single tran

我需要倒一张桌子,以便每天转车。
mysqldump需要锁表特权。不幸的是,锁表不适用于表级别,只适用于数据库级别,我不想给MySQL用户那么多的访问权限。 有没有一种方法可以做到像

/usr/bin/mysql -uusername -ppassword -D daterbase -e "select * from table" > outfile.sql

。。。但它是否以SQL格式而不是查询结果格式输出

如果该表是InnoDB表,则可以使用
mysqldump--single transaction dbname tablename

通过使用事务,它不需要锁定任何东西


或者您可以使用
选择。。。输入输出文件
,但以制表符分隔的文本格式转储,而不是SQL格式。有关详细信息,请参见上。

oops。。。尝试了它并遇到了重复的密钥问题,因为正在复制密钥。。。所以我回到了画板上。我需要复制没有密钥的记录,以便在接收端插入。因为我没有在问题中澄清这一点,我应该问一个新问题吗?Mysqldump没有任何跳过关键列的选项。因此,您又回到了使用
SELECT-INTO-OUTFILE
,然后使用
mysqlimport
导入该文件。