一.mysql 备份之前需要打开 bin_log 具体配置如下:
log_bin=/usr/local/mysql/data/mysqlbinlog #指定事务日志的存放路径,注意需要有权限
expire_logs_days=3 # 清理三天前的binlog 日志
binlog_format=Mixed (备注,正常默认即可,如果有一些特殊的存储过程函数,可以用row 或者mixed,mixed 是mysql 官方推荐模式)
默认的bin_log 格式是:默认格式是 Statement 可以在系统里面 show variables like ' binlog_format'
备份命令:
mysqldump -uroot -p -A -B -F --master-data=1 --single-transaction --default-character-utf8 --events |gzip >/root/mysqldump.sql.gz (注意导出的字符集)
注意红色的参数,最好是分库备份,这样恢复的时候方便。
同步所有的binlog 数据到异机
可以把binlog 日志转换成普通文件格式,同时也可以分库:
mysqllogbin -d databasename mysqlbinlog000001.log > binlog.sql (-d 参数可以截取指定数据binlog)
如果binlog 格式是 row ,mysqlbinlog 默认是解析不出来的,需要加如下参数
mysqlbinlog --base64-output=decode-rows -v mysqlbinlog.000006
mysqldump 只适合数据库文件比较小的场景,如果大了dump一次会需要很长时间,对服务器的压力也会很大,需要考虑其它的备份方式比如说:xtraback在后续的博文中给出
阅读(728) | 评论(0) | 转发(0) |