mysqldump不锁表备份,怎么设置为好
发布网友
发布时间:2022-04-07 19:50
我来回答
共1个回答
热心网友
时间:2022-04-07 21:19
mysqlmp是mysql用于转存储数据库的实用程序。它主要产生一个SQL脚本,其中包含从头重新创建数据库所必需的命令CREATETABLEINSERT等。如果给mysqlmp进行备份,从库上停止复制的sql线程然后mysqlmp,这个是个很好的选择,因为停止复制就没有写,就不用担心锁表的问题。下面提供两只备份方法:一、MyISAM引擎备份1.由于MyISAM引擎为表级锁,因此,在备份时需要防止在备份期间数据写入而导致不一致,2.所以,在备份时使用--lock-all-tables加上读锁mysqlmp-A-F-B--lock-all-tables|gzip>/data/backup/$(date+%F).tar.gz3.特别提示:有关MyISAM和InnoDB引擎的差别和在工作中如何选择,在前面已经详细讲解过了,这里就不在讲了。二、InnoDB引擎备份1.InnoDB引擎为行锁,因此,备份时可以不对数据库加锁的操作,可以加选项--single-transaction进行备份:mysqlmp-A-F-B--single-transaction|gzip>/data/backup/$(date+%F).tar.gz2.特别注意:--single-transaction仅适用于InnoDB引擎。--master-data=2会将当前mysql用到的binlog文件的日志名称和位置记录下来然后搜索changemaster就行了mysqlmp-uroot-p'passwd'-Bctp1--lock-all-tables|gzip>/home/mysql/ctp1.$(date+%F).tar.gz--no--data仅仅mp数据库结构创建脚本通过--no-create-info去掉mp文件中创建表结构的命令。
mysqldump导出数据库的时候是不是锁库的
一般默认的时候都是锁表的,如果你想不锁表导出可以加上--single-transaction 就可以不锁表进行导出,示例:mysqldump -h 127.0.0.1 -u username -ppassword --single-transaction dbname tablename>name.sql
用mysqldump备份数据库,需要把mysql关闭吗?
不能关闭。mysqldump: 最早,也是最成熟的逻辑备份工具,是 MySQL 原生的用来备份整个数据库实例、单个数据库、单张表的逻辑备份工具, 上手简单,学习成本几乎为 0。备份简单,恢复也简单。比如导出单个数据库 ytt: mysqldump ytt > /tmp/ytt.sql;恢复也非常简单:mysql < /tmp/ytt.sql 缺点是备份...
实现MySQL数据库的备份与还原的几种方法
保证你的拷贝完整性的最好方法是关闭服务器,拷贝文件,然后重启服务器。 如果你不想关闭服务器,要在执行表检查的同时锁定服务器。如果服务器在运行,相同的制约也适用于拷贝文件,应该使用相同的锁定协议让服务器“安静下来”。当你完成了MySQL数据库备份时,需要重启服务器(如果关闭了它)或释放加在表...
在linux下 如何使用mysqldump进行mysql的完全备份? 要完整命令 记得是...
虽然mysqldump支持的命令有很多,对于大多数人而言,我们只需要使用-opt这个命令就已经足够了,为你的数据库做一个完整的备份:mysqldump --opt database > backup-file.sql 但是它对用来自于一个数据库的信息充实另外一个MySQL数据库也是有用的:mysqldump --opt database | mysql --host=remote-host...
mysql数据库备份和还原的常用命令小结
一、备份常用命令 1. 使用`mysqldump`工具进行逻辑备份:`mysqldump -u 用户名 -p 数据库名 > 备份文件.sql`解释:`mysqldump`是MySQL提供的逻辑备份工具,可以通过导出数据库或表的结构及数据到SQL文件的方式备份。命令中的`-u`参数用于指定用户名,`-p`参数用于提示输入密码,`数据库名`是需要备份...
mysqldump详解
4.1备份流程如下 4.2执行mysqldump,分析备份日志 五.mysqldump对InnoDB和MyISAM两种存储引擎进行备份的差异。5.1对于支持事务的引擎如InnoDB,参数上是在备份的时候加上 –single-transaction 保证数据一致性。5.2对于不支持事务的引擎如MyISAM,只能通过锁表来保证数据一致性,这里分两种情况:六....
MySQL的my详解
MySQL的mysqldump工具是数据备份和迁移的重要工具。基本用法包括导出整个数据库或特定表,如:mysqldump -u 用户名 -p 数据库名 [tables] > 导出文件名。不指定表时,会导出整个数据库。通过mysqldump --help获取详细选项,如锁定表以提高插入效率(--add-locks),避免关键字列名冲突(--allow-keywords...
MySQL 常用备份工具流程解析
若是设置了--no-lock为TRUE,则不会使用"FLUSH TABLES WITH READ LOCK"去加全局读锁,但是若备份过程中对non-InnoDB表执行了DDL或者DML操作, 这会导致备份的不一致,恢复出来的数据就会有问题。所以是不建议将--no-lock为TRUE,默认值是FALSE,也就是在不指定该选项的情况下会在备份非ibd文件前加全局读锁。 下面...
使用mysqldump备份时为什么要加上
1、mysql_upgrade install or upgrade sys schema 这个方案适用于 sys 库已经因为 mysqldump 导入而损坏的情况下使用。注意:mysql_upgrade 在修理 sys 库的同时,还修理 mysql 库和用户库表(期间加锁且速度一般),有极小可能会误伤;使用 mysql_upgrade 的时候要加上 --upgrade-system-tables,不然...
谁遇到过这样的锁的问题?
总结: mysqldump程序竟然会激发FLUSH TABLES WITH READ LOCK?! 但貌似只是锁很短的时间,然后自行解锁。(参考很多资料,说mysqldump的在线备份不会锁表的阿!)如果在这个时间里,mysql server出问题了,那么flush tables with read lock进程就僵死在那里了,然后就出现了应用界面无法访问数据库的情况。...