zoukankan      html  css  js  c++  java
  • mysql之数据备份与还原_mysqldump

    mysql之数据备份与还原

    原文地址:https://www.cnblogs.com/q455674496/p/10305997.html

     备份:

    #1. 物理备份: 直接复制数据库文件,适用于大型数据库环境。但不能恢复到异构系统中如Windows。
    #2. 逻辑备份: 备份的是建表、建库、插入等操作所执行SQL语句,适用于中小型数据库,效率相对较低。
    #3. 导出表: 将表导入到文本文件中。

    # 通过shell命令查询所有库并打包备份
    # mysql -uroot -p'root' -e "show databases;"|grep -Evi "database|info|perfor"|sed -r 's#^([a-z].*$)#mysqldump -uroot -p'root' --events -B 1|gzip > /opt/bak.sql.gz#g'|bash
    注意事项:
    1. 完全恢复到一个干净的环境(例如新的数据库或删除原有的数据库)
    2. 恢复期间所有SQL语句不应该记录到binlog中


    mysqldump关键参数说明:

    mysqldump --help
    1、 -B 指定多个库,增加建库语句和use语句
    2、 --compact 去掉注释,适合调试输出,生产不用。
    3、 -A 备份所有库
    4、 -F 刷新binlog日志
    5、 --master-data 增加binlog日志文件名及对应的位置点。
    6、 -x ,--lock-all-tables 锁表
    7、 -l ,--lock-tables
    8、 -d 只备份表结构
    9、 -t 只备份数据
    10、 --single-transaction 适合innodb事务数据库备份
      innodb表在备份是,通常启用选项 --single-transaction 来保证备份的一致性,实际上它的工作原理是设定本次会话的隔离级别为:repeatable read,以确保本次会话(dump)时,不会看到其他会话已经提交了的数据。


    myisam备份命令:
    mysqldump -uroot -proot -A -B --master-data=1 --events -x|gzip > /opt/bak.sql.gz

    innodb备份命令:推荐使用
    mysqldump -uroot -proot -A -B --master-data=1 --events --single-transaction|gzip > /opt/bak.sql.gz

    恢复:

    #需进入mysql
    mysql> source /opt/bak.sql  
    #不进入mysql,备份时未指定-B 恢复时必须指定库
    # mysql -uroot -proot --database < /opt/bak.sql  



  • 相关阅读:
    ASP记数器
    Photoshop压缩png图片方法之一
    Drupal的高速缓存配置APC
    各种share button
    兼容iphone、ipad与PC平台的在线视频
    知识组织方法总结
    Virtuemart2 for joomla2.5
    joomla2.5 常用组件
    网上找来经过改良的多级联动下拉菜单
    joomla组件开发中的时区问题
  • 原文地址:https://www.cnblogs.com/jifengblog/p/12853835.html
Copyright © 2011-2022 走看看