<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位置开始呗,恢复起来也方便