mysqldump --flush-logs

<pre name="code" class="html"><pre name="code" class="html">[root@wx03 binlog]# ls -ltr
total 72
-rw-rw---- 1 mysql mysql 15872 May 11 09:33 mysql-bin.000001
-rw-rw---- 1 mysql mysql  2592 Jun  1 12:56 mysql-bin.000002
-rw-rw---- 1 mysql mysql   143 Jun  1 13:05 mysql-bin.000003
-rw-rw---- 1 mysql mysql   143 Jun  4 11:45 mysql-bin.000004
-rw-rw---- 1 mysql mysql   515 Jun  4 11:46 mysql-bin.000005
-rw-rw---- 1 mysql mysql   167 Jun  4 11:47 mysql-bin.000006
-rw-rw---- 1 mysql mysql   120 Jun  4 11:47 mysql-bin.000007
-rw-rw---- 1 mysql mysql   287 Jun  4 11:47 mysql-bin.index
-rw-r--r-- 1 root  root  25580 Jun  4 11:47 A1.SQL
[root@wx03 binlog]# mysqldump -uroot -p --single-transaction --events --triggers --routines --flush-logs --master-data=2 --databases DEVOPS >A1.SQL
Enter password: 
[root@wx03 binlog]# ls -ltr
total 76
-rw-rw---- 1 mysql mysql 15872 May 11 09:33 mysql-bin.000001
-rw-rw---- 1 mysql mysql  2592 Jun  1 12:56 mysql-bin.000002
-rw-rw---- 1 mysql mysql   143 Jun  1 13:05 mysql-bin.000003
-rw-rw---- 1 mysql mysql   143 Jun  4 11:45 mysql-bin.000004
-rw-rw---- 1 mysql mysql   515 Jun  4 11:46 mysql-bin.000005
-rw-rw---- 1 mysql mysql   167 Jun  4 11:47 mysql-bin.000006
-rw-rw---- 1 mysql mysql   167 Jun  4 11:48 mysql-bin.000007
-rw-rw---- 1 mysql mysql   120 Jun  4 11:48 mysql-bin.000008
-rw-rw---- 1 mysql mysql   328 Jun  4 11:48 mysql-bin.index
-rw-r--r-- 1 root  root  25580 Jun  4 11:48 A1.SQL



flush logs:

LOGS        关闭当前的二进制日志文件并创建一个新文件,新的二进制日志文件的名字在当前的二进制文件的编号上加1。 

  -F, --flush-logs    Flush logs file in server before starting dump. Note that
                      if you dump many databases at once (using the option
                      --databases= or --all-databases), the logs will be
                      flushed for each database dumped. The exception is when
                      using --lock-all-tables or --master-data: in this case
                      the logs will be flushed only once, corresponding to the
                      moment all tables are locked. So if you want your dump
                      and the log flush to happen at the same exact moment you
                      should use --lock-all-tables or --master-data with
                      --flush-logs
					  
					  
在开始备份前,Flush logs 文件到服务器,注意 如果你一次备份多个数据库(使用选择 --databases= or --all-databases)


每个数据库备份后会刷新日志。除了 使用 --lock-all-tables or --master-data:

在这种情况下 日志只刷新一次,相应的所有表同时被锁定。

如果你要备份和log flush 在同时发生应该使用--lock-all-tables 或者--master-data 和--flush-logs。
注意 这个日志是指binlog
dump之后的内容从一个新的binlog位置开始呗,恢复起来也方便




   

原文地址:https://www.cnblogs.com/zhaoyangjian724/p/6199902.html