zoukankan      html  css  js  c++  java
  • mysql数据库备份与恢复

    压缩备份单个数据库,mysqldump实际上就是把数据从mysql库里以逻辑的sql语句的形式导出。

    mysqldump -uroot -p --default-character-set=gbk  test|gzip>test.sql.gz

    备份多个库,使用-B选项
    备份数据库里面的某个表

    mysqldump -u 用户名 -p 数据库名 表名> 备份的文件名         #备份单个表
    mysqldump -u 用户名 -p 数据库名 表名 表名> 备份的文件名      #备份多个表

    只备份数据库结构,使用-b选项

    [root@oldboy ~]# mysqldump -uroot -p'oldboy123' -d oldboy >/tmp/desc.sql                         
    [root@oldboy ~]# egrep -v "*|--|^$" /tmp/desc.sql            
    DROP TABLE IF EXISTS `ett`;
    CREATE TABLE `ett` (
      `id` int(11) DEFAULT NULL
    ) ENGINE=MyISAM DEFAULT CHARSET=gbk;
    DROP TABLE IF EXISTS `test`;
    CREATE TABLE `test` (
      `id` int(4) NOT NULL AUTO_INCREMENT,
      `name` char(20) NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=12 DEFAULT CHARSET=gbk;

    如果有多个库,我们应该用-d来指定恢复单个库

    还原数据:先还原全备,再还原增备
    先还原全备:mysql –u root –p  <mysqlfile.sql
    还原增备:mysql –u root –p  <binlog.sql(恢复增备的时候,需要把误操作的语句删掉后,再还原,否则,还原后,还是会和误操作后一样)
    
    基于时间点的增量恢复
    mysqlbinlog mysql-bin.000004 –start-datetime=2011-03-19 025854’—stop-datetime=2011-03-19 032244’ –r time.sql
    上面语句将显示2011.03-19 02:58:54-----2011-03-19 03:22:44时间段的binlog,并输出到time.sql
    拽定开始时间到文件结束
    mysqlbinlog mysql-bin.000004 –start-datetime=2011-03-19 025854’ –d oldboy –r time.sql
    这个语句只有开始时间,那么就是从2011-03-19 025854时刻到日志结尾,lodboy数据库的binlog输出到time.sql
    
    基于位置点的增量恢复
    指定开始位置和结束位置
    mysqlbinlog mysql-bin.000004 –start-position=510 –stop-position=1312 –r pos.sql
    输出初始位置510,结束位置1312的所有binlog日志到pos.sql
    注意:结尾的日志点细弱特殊不会被包含。即输出1312pos以前的binlog。
    指定开始位置到文件结束
    mysqlbinlog mysql-bin.000004 –start-position=510 –r pos510-end.sql
    输出初始位置510,结束位置到文件结尾的所有binlog到pos510-end.sql。当然,你也可以指定库名输出binlog。如:
    mysqlbinlog mysql-bin.000004 --start-position=510 –r pos510-end-oldboy.sql –d oldboy
    从文件开头到指定结束位置
    mysqlbinlog mysql-bin.000004 --stop-position=954 -r start-954.sql
    输出从文件开始位置,到954位置截止的所有binlog
  • 相关阅读:
    绕开安全沙箱跨域调用Swf中的方法
    使用Eclipse运行Java代码调用JDBC读写MySQL中文变成问号的终极解决办法
    Resource is out of sync with the file system的解决办法
    DBUnit入门
    Eclipse 中JSP文件出现String cannot be resolved as a type的解决办法
    Windows中cmd操作mysql
    windows中 关闭 启动 重启mysql的方法
    Mysql中文输入出现1366错误的解决办法
    How to implement collapse all in windows tree structure such as regedit
    word2010 2007中去掉页眉上的横线
  • 原文地址:https://www.cnblogs.com/biaopei/p/7730503.html
Copyright © 2011-2022 走看看