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
  • 相关阅读:
    较快者等待较慢者发出通知
    Uint and uintptr in golang 非类型安全指针
    C10K C10M 通过DPDK+用户态协议栈来进行内核旁路来提升网络性能
    大型产品团队敏捷发布火车运行指南
    注册中心
    RPA(Robotic Process Automation,机器人流程自动化)
    Actor model
    基于Protobuf共享字段的分包和透传零拷贝技术
    基于etcd实现大规模服务治理应用实战
    删除 服务 注册表
  • 原文地址:https://www.cnblogs.com/biaopei/p/7730503.html
Copyright © 2011-2022 走看看