linux – AutoMysqlBackup –lock-tables = false
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了linux – AutoMysqlBackup –lock-tables = false,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1681字,纯文字阅读大概需要3分钟。
内容图文
![linux – AutoMysqlBackup –lock-tables = false](/upload/InfoBanner/zyjiaocheng/895/666c6f51fcfb48f982e665c899883f87.jpg)
我正在尝试使用AutoMysqlBackup脚本来执行我的应用程序的每日备份.
不幸的是,在第一次尝试时,它并没有像我认为的那样.
我相信该脚本使用了–lock-tables = true参数,它使我的应用程序停止工作.
如果是这种情况,我怎样才能使脚本不锁定表? (所以我的应用程序可以继续运行)?
谢谢.
解决方法:
好的,不是很熟悉那个软件,但是:
>它是一个shell脚本,在编辑时非常简单(理论上).当然,它的一个~2200行shell脚本.
>我认为–lock-tables来自–opt,它是在parse_configuration函数顶部指定的(从很快的一瞥).你可以在那里添加–skip-lock-tables.
>它使用mysql实用程序,因此您也可以以正常方式将其添加到.my.cnf中.
一般来说:
>您没有使用InnoDB,但使用的是MyISAM,因此您没有交易.所以你不能使用–single-transaction.
>因此,您需要锁定以确保一致性.即使有锁定,也不能保证(更有可能).但它与正常运行中的保证一样多.认真考虑InnoDB(但请先阅读文档,先研究,然后进行测试,以确保它不会破坏您的应用).
>如果禁用锁定,则可能具有:
>开始备份
>备份表A.
>从A中删除记录,并在B中删除子记录.
>备份表B.
>您的备份现在包含A中的记录,该记录指向B中不存在的记录.换句话说,它不一致.
>有更广泛使用的MySQL备份解决方案.也许你应该切换到其中一个.它更容易找到更多人使用的软件的帮助(并且它往往更好地测试).
>您可能认为自己有备份,但在实际成功恢复之前,最好不要使用裸机(新格式化的硬盘).理想情况下,您可以定期执行此操作,并最好将其自动化.这不是MySQL特有的,它适用于所有备份.
有一个解决方案(除了切换到InnoDB):您可以在从属服务器上执行备份.在备份期间锁定所有表或SLAVE STOP SQL_THREAD并不重要,因为它对主数据库无关紧要.这是无停机时间的解决方案.无论如何,您应该拥有此服务器,作为主要故障时的热/热备用.
还有另一种解决方案可以最大限度地减少停机时间:将数据库放在LVM卷上,执行FLUSH TABLES WITH READ LOCK,获取LVM快照,然后释放读锁(断开连接将执行此操作).然后,您可以从快照执行备份.这是“我买不起另一台机器”的解决方案.
内容总结
以上是互联网集市为您收集整理的linux – AutoMysqlBackup –lock-tables = false全部内容,希望文章能够帮你解决linux – AutoMysqlBackup –lock-tables = false所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。