mysqldump命令备份还原大家经常用
备份一个数据库:mysqldump -hlocalhost -uroot -p123456 db1 > mySqlBackup.sql
所有数据都是以sql语句的形式存在,还原的时候直接 source mySqlBackup.sql就行,连建库都不需要。需要备份到函数的话,需要加上-R参数,但恢复的时候就不能用source了,需要 mysql -uroot -p123456 db1 < mySqlBackup.sql
mysqldump -l 备份时锁表,在备份结束前,当前DB状态就没法写入,只能做读操作,注意这里是锁定DB下所有表。
mysqldump -F 其实就是flush logs,备份时候自动flush一下binlog日志。
一般 -l -F 2个参数一起用,可以完美的生成以备份时间为节点的数据库快照,期间mysql崩溃也没关系,直接找到备份时间之后生成的mysql-bin日志做回复就行了。
恢复binlog二进制日志文件
mysqlbinlog --no-defaults binlog-file | mysql -uroot -p123456
恢复binlog可以指定positon的起始和结束位置和data的起始和结束时间。