ITPub博客

首页 > 数据库 > MySQL > MySql 备份恢复简单小结

MySql 备份恢复简单小结

原创 MySQL 作者:东方友诚 时间:2015-04-26 10:58:05 1 删除 编辑

简单举例


全备

# mysqldump -u root -proot test > /mysql/bak/bak1647.sql;

恢复

# mysql -uroot -proot test < /mysql/bak/bak1721.sql 

该备份恢复无法去除新添加的表,原来已经存在的表,可以回到原来的样子,而新添加的表,不会在恢复的时候改变。

对于成型的系统,因为不会添加新表,该命令没有问题。
如果添加了新表,即改变数据库表结构的时候,要重新做一次备份。
对于库大小在30G以下,尤其是10G以下的库,使用此命令比较合适。

备份表


# mysqldump -uroot -proot test stud>/mysql/bak/root_test_stud_20150422.sql
# mysql -uroot -proot test


binlog

开启binlog

linux下修改my.cnf(windows下修改my.ini)

[mysqld]

#开启binlog并指定日志位置为库所在位置,日志前缀为mysql-bin
log-bin=mysql-bin    

#日志生成对象为db2、test库
binlog-do-db=db2
binlog-do-db=test

#只保留最近3天的日志
expire_logs_day=3


使用binlog恢复

二进制文件,记录库的修改操作,多用于增量备份。恢复时需要与全备相结合,以全备为基础,再加增量备份可达到恢复一个库的目的。
比如有一份在2015-04-24 1:30:00时刻db2库的全备,db2库在2015-04-24 17:27:01 时刻出现误操作,可以使用以下命令恢复数据库
首先,使用全备恢复库
其次,使用binlog恢复

# mysqlbinlog --start-datetime="2015-04-24 1:30:00" --stop-datetime="2015-04-24 17:27:00" /var/lib/mysql/mysql-bin.[0-9]*|mysql -uroot -proot --one-database db2

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30036720/viewspace-1602721/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: linux /dev/shm
请登录后发表评论 登录
全部评论

注册时间:2014-11-24

  • 博文量
    144
  • 访问量
    336913