我从server1到server2运行mysqdump
我使用的mysqldump命令是
mysqldump -q -u dump -p######## -h ###.###.###.### --add-drop-database --add-drop-table --set-charset --all-databases > dump.sql
并且用户和权限都是正确的。
当我运行这个时,我确实得到了一个输出文件(dump.sql),但它停止在948,920字节,即使我离开它1小时也没有增加。
我已经尝试了mysqldump 8次,并使用来自正在运行的进程的相同消息:
292186 root localhost RED Query 26 Waiting for release of readlock LOCK TABLES `OLD_RED_NOTES` READ /*!32311 LOCAL */,`RED_ADD` READ /*!32311 LOCAL */,`RED_COUNTRY` RE
但是,如果我没有执行 FLUSH TABLES WITH READ LOCK;
,我可以毫无问题地获得7GB文件。
我简直无法理解为什么我不能用表锁来获得它!
猛烈抨击谷歌48小时!请帮忙
答案 0 :(得分:0)
以root身份执行“SHOW PROCESSLIST”以查看其他进程是否正在攻击您的表并为您提供锁定。如果您的表是InnoDB,请使用SHOW ENGINE INNODB STATUS,它将显示InnoDB锁和其他信息。如果您正在使用MyISAM,“SHOW STATUS LIKE'Table%'”将显示您是否一直在进行大量锁定或仅使用转储。