Chinaunix

标题: 【已解决】我这样备份对吗?关于mysqldump! [打印本页]

作者: lgw7758    时间: 2013-01-15 13:33
标题: 【已解决】我这样备份对吗?关于mysqldump!
本帖最后由 cenalulu 于 2013-01-17 13:44 编辑

/usr/bin/mysqldump -uroot -p****** -l --lock-tables=false --database ultrax > /mnt/bak/$backup_time.dmp


我一直这样在备份,但关于这段参数  -l --lock-tables=false  自己也不知道什么意思,这样备份对吗?

这种备份方法无论mysql的版本都是可以恢复回去的吧?
作者: action08    时间: 2013-01-15 15:00
没有大问题,

-l --lock-tables=false是说在复制的时候锁住表,保证数据一致性。
一般只有大公司打访问量的服务才有这个需求,但是那种场景,都是有专员培训后进行的
作者: chinafenghao    时间: 2013-01-15 15:12
@lgw7758
比如说你有两张表
order(记录订单信息),order_products(记录订单商品),不加-l,备份是按表明顺序进行,在备份order的时候,新的订单写不进来,但是可以写order_product,这样备份的结果order和order_products的数据就对应不上了。
作者: lgw7758    时间: 2013-01-15 20:45
回复 2# action08

感谢您的答复!
   
作者: lgw7758    时间: 2013-01-15 20:46
回复 3# chinafenghao


    就是说我这样备份没问题了?这种备份方法无论mysql的版本都是可以恢复回去的吧?
作者: seesea2517    时间: 2013-01-16 11:14
  1. mysqldump --help
  2.   ...
  3.   -l, --lock-tables   Lock all tables for read.
  4.   ...
复制代码
咦?-l 和 --lock-tables 是一个选项的长短表示而已,用一个就行了呗。
作者: lgw7758    时间: 2013-01-16 11:23
回复 6# seesea2517


就是这样-l   或者是这样 --lock-tables=false 对吗?

   
作者: seesea2517    时间: 2013-01-16 11:30
回复 7# lgw7758


    单独说这两个选项的话,用 mysqldump -l 0 和 mysqdump  --lock-tables=false 是一个意思。而 -l 和  --lock-tables=false 合在一起应该是后一个起作用,所以你一楼的那个语句 -l 应该就是多余的了。
作者: lgw7758    时间: 2013-01-16 11:33
回复 8# seesea2517

mysqldump -l 0 这个没有0吧? mysqldump -l对吗?
mysqdump  --lock-tables=false

以上两就是锁表的意思吧?留一个就行吧?


   
作者: lgw7758    时间: 2013-01-16 11:35
回复 8# seesea2517


false是啥意思,锁表,还是不锁表?

   
作者: seesea2517    时间: 2013-01-16 11:35
回复 9# lgw7758
你不是带了 false 参数吗?-l 0 和 --lock-tables=false 是一样的,如果没有 0,默认是 true:
Variables (--variable-name=value)
and boolean options {FALSE|TRUE}  Value (after reading options)
--------------------------------- -----------------------------
insert-ignore                     FALSE
lines-terminated-by               (No default value)
lock-all-tables                   FALSE
lock-tables                       TRUE
master-data                       0

作者: seesea2517    时间: 2013-01-16 11:36
回复 10# lgw7758


    请执行 mysqldump --help
作者: lgw7758    时间: 2013-01-16 11:45
回复 11# seesea2517

-l 0 和 --lock-tables=false 这两个意思都是锁表呗在备份的时候?


   
作者: xike2002    时间: 2013-01-16 15:42
当然是不锁表啦!
作者: ruochen    时间: 2013-01-16 16:37
help文件需要详细读读,然后多测试测试,都是初期学习过程的

lock-tables和lock-all-tables要仔细理解和测试




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2