Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQLDump不锁定表_Mysql_Mysqldump - Fatal编程技术网

MySQLDump不锁定表

MySQLDump不锁定表,mysql,mysqldump,Mysql,Mysqldump,如果您有很多表,您只能执行MySQLDump而不锁定它们,否则可能会出错 在不锁定所有表的情况下执行MySQLDump的副作用是什么;这样得到的数据库快照是否一致?我是否有其他方法可以备份包含多个表的MySQL DB?您使用什么存储引擎 如果您使用的是InnoDB,那么可以使用--single transaction标志运行mysqldump,并在不锁定表的情况下获得一致的快照 如果您使用的是MyISAM,则需要锁定表以获得一致的快照。否则,在mysqldump运行时在MyISAM表上运行的任何

如果您有很多表,您只能执行MySQLDump而不锁定它们,否则可能会出错

在不锁定所有表的情况下执行MySQLDump的副作用是什么;这样得到的数据库快照是否一致?我是否有其他方法可以备份包含多个表的MySQL DB?

您使用什么存储引擎

如果您使用的是InnoDB,那么可以使用--single transaction标志运行mysqldump,并在不锁定表的情况下获得一致的快照

如果您使用的是MyISAM,则需要锁定表以获得一致的快照。否则,在mysqldump运行时在MyISAM表上运行的任何insert/update/delete语句可能会也可能不会反映在输出中,具体取决于这些语句的时间。

如果数据库类型为InnoDB,则--single transaction标志应该起作用。

最佳方法(如果使用InnoDB)实际上是在复制的从属服务器上运行备份。这样,锁定将不会产生任何影响。
否则只需使用前面提到的--single transaction标志。

对于Innodb,您需要在mysqldump实用程序中提到--single transaction,以避免锁定并获得一致的快照


对于MyISAM,您需要锁定表以获得一致的快照,否则在运行dump时将丢失要记录的DML

如果确实需要锁定,您还可以在安静的时间(即数据库使用最少的时间)自动执行吗。