189 8069 5689

mysql备份怎么锁库,mysql备份会锁表吗

mysql如何锁库?用什么命令

MySQL 5.1支持对MyISAM和MEMORY表进行表级锁定,对BDB表进行页级锁定,对InnoDB表进行行级锁定。

为卢氏等地区用户提供了全套网页设计制作服务,及卢氏网站建设行业解决方案。主营业务为网站设计制作、网站设计、卢氏网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

如果不能同时插入,为了在一个表中进行多次INSERT和SELECT操作,可以在临时表中插入行并且立即用临时表中的记录更新真正的表。

这可用下列代码做到:

mysql LOCK TABLES real_table WRITE, insert_table WRITE;

mysql INSERT INTO real_table SELECT * FROM insert_table;

mysql TRUNCATE TABLE insert_table;

mysql UNLOCK TABLES;

mysqldump 如何备份 以及如何解决锁表的问题

mysqldump是mysql用于转存储数据库的实用程序。它主要产生一个SQL脚本,其中包含从头重新创建数据库所必需的命令CREATE TABLE INSERT等。如果给mysqldump进行备份,从库上停止复制的sql线程 然后mysqldump,这个是个很好的选择,因为停止复制就没有写,就不用担心锁表的问题 。下面提供两只备份方法:

一、MyISAM引擎备份

1. 由于MyISAM引擎为表级锁,因此,在备份时需要防止在备份期间数据写入而导致不一致,

2. 所以,在备份时使用--lock-all-tables加上读锁

mysqldump -A -F -B --lock-all-tables |gzip /data/backup/$(date +%F).tar.gz

3. 特别提示:有关MyISAM和InnoDB引擎的差别和在工作中如何选择,在前面已经详细讲解过了,这里就不在讲了。

二、 InnoDB引擎备份

1. InnoDB引擎为行锁,因此,备份时可以不对数据库加锁的操作,可以加选项--single-transaction进行备份:

mysqldump -A -F -B --single-transaction |gzip /data/backup/$(date +%F).tar.gz

2. 特别注意:

--single-transaction仅适用于InnoDB引擎。

--master-data=2

会将当前mysql用到的binlog文件的日志名称和位置记录下来 然后搜索change master就行了

mysqldump -uroot -p'passwd' -B ctp1 --lock-all-tables|gzip /home/mysql/ctp1.$(date +%F).tar.gz

--no--data 仅仅dump数据库结构创建脚本 通过--no-create-info 去掉dump文件中创建表结构的命令。

mysql备份数据库 怎么锁表

MySQL8.x 中新增了一个轻量级的备份锁,它允许在 online 备份的时候进行 DML 操作,同时可防止快照不一致。这个锁禁止的操作很少,它禁止的操作包括:

文件的创建、删除、改名

账户的管理

REPAIR TABLE

TRUNCATE TABLE

OPTIMIZE TABLE

备份锁由 lock instance for backup 和 unlock instance 语法组成。使用这些语句需要 BACKUP_ADMIN 权限。


分享文章:mysql备份怎么锁库,mysql备份会锁表吗
转载来于:http://cdxtjz.com/article/hcsdig.html

其他资讯