如何冻结/停止/lockingMYSQL数据库? 那我该如何使数据库恢复正常?

基本上,我需要阻止它。 (这样我可以在没有新数据的情况下进行备份)。 一切都“冻结”了。

那么,如何启用它,以便人们可以再次进行更改?

扩展3dinfluence的答案。 mysqldump会在转储之前用读锁来locking这些表(这就是你说“冻结”之后的情况)。 取决于你的存储引擎,UPDATES(和可能的SELECTS)将排队,直到转储完成(在这一点上它将解锁表)。

如果你想手动执行,那么你需要的命令将会是类似的(如果你不想要全局锁,就调整它)。

flush tables with read lock; 

这将应用全局locking并刷新查询caching。 然后您可以删除锁

 unlock tables; 

您可以使用mysqldump命令获取正在运行的数据库的快照而不locking或冻结它。

如果你的数据库存储在lvm上 – 使用快照function。 您可以使用自己的脚本或例如mylvmbackup 。

如果您使用innodb数据库 – 您可以使用mysqldump单事务选项,或者您可以尝试xtrabackup 。

与所有这些选项,您将不必在备份过程中使数据库脱机。