web应用程序正在崩溃

rjjhvcjd  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(409)

在linux上尝试将进程推到后台,并尝试使用-q命令:mysqldump-q-u root-p root database\u name>dumpname.sql似乎没有什么用处。

6qftjkof

6qftjkof1#

这很可能是因为mysqldump在备份期间锁定了表。
使用innodb表时,可以使用 --single-transaction 参数。请务必阅读手册:
--单笔交易
此选项将事务隔离模式设置为可重复读取,并在转储数据之前向服务器发送start transaction sql语句。它只在事务表(如innodb)中有用,因为它会在发出start transaction时转储数据库的一致状态,而不会阻塞任何应用程序。
使用此选项时,应记住只有innodb表以一致状态转储。例如,使用此选项时转储的任何myisam或内存表可能仍会更改状态。
在处理--single事务转储时,为了确保转储文件有效(正确的表内容和二进制日志坐标),其他连接不应使用以下语句:alter table、create table、drop table、rename table、truncate table。一致性读取并不是与这些语句隔离的,因此在要转储的表上使用这些语句可能会导致mysqldump执行的select检索表内容时获取不正确的内容或失败。
--single transaction选项和--lock tables选项是互斥的,因为锁表会隐式提交任何挂起的事务。
当您使用myisam表(不推荐)时,您几乎注定要失败。然后,最好的选择是设置到另一个主机的复制。要进行备份,请停止从机上的复制,在mysqldump完成后再次启动从机(谷歌这个,我不会在这里详细解释)。
另一个可能的解决方案是使用percona的xtrabackup。再次,谷歌和阅读整个手册!我怎么强调都不过分。

相关问题