zoukankan      html  css  js  c++  java
  • mysql 备份

    使用 mysqldump 方式备份

    man mysqldump 可以查看具体的命令是什么样的

    It dumps one or more MySQL databases for backup or transfer to another SQL server. The mysqldump command can also generate output in CSV, other delimited text, or XML format.

    文档里面说:

    performance 

    1.windows 的powershell 导出来的是utf-16编码的 所有在bash下面可能会出问题 [我用的是mac 没有在win7 下面试过] 所以导出的时候加 --result-file=dump.sql

    2.性能不是太好备份时间长,restore的时候,I/O读写 index要重建

    3. 大规模备份和恢复,物理备份直接复制原来的格式,将会在备份的时候恢复的更快

      1)Innodb 或者 Innodb 和MyISAM 混合表考虑使用 mysqlbackup 命令 也可以使用在纯 MyISAM

      2)如果是纯MyISAM 表考虑使用mysqlhotcopy

    使用

    4. 一行一行备份 使用 --quick (默认) 整张表缓存之后(memory buffer 之后)使用 --skip-quick

     新版本mysql 备份到来版本 使用 --skip-opt option  而不是 --opt 或者 --extended-insert option

    语法 备份db 多个db 所有db
    
    shell> mysqldump [options] db_name [tbl_name ...]
    shell> mysqldump [options] --databases db_name ...
    shell> mysqldump [options] --all-databases

    参数

    只看常用的

    -p password

    -P port

    --protocol 使用的协议

    -u user

    --databases

    --all-databases

    --ignore-table=tablename 忽略的table

    --no-data/-d 只有结构不带数据

    --where  可以筛选之后导出筛选之后的

    --single-transaction 单事件 (这个之后再写随笔详细了解)

    备份sql

    1. 备份一个db

    mysqldump -u user -p db > db.sql

    2.备份一个table

    mysqldump -u user -p db  table > db_table.sql

    导入 

    mysql -uroot -p db < db.sql

    备份所有db

    mysqldump -uroot -p --all-databases > all_db.sql

    慢慢沉淀自己
  • 相关阅读:
    日期类的时间从为什么是从1970年1月1日(格林威治时间)
    网站缓存技术总结( ehcache、memcache、redis对比)
    干货|java缓存技术详解
    TCP和UDP的区别(转)
    form表单转换为Json字符串数据
    JSON.parse 和 JSON.stringify
    Navicat连接Oracle的几个问题及解决方案
    Python IO编程
    python阶段总结一
    使用git进行版本控制
  • 原文地址:https://www.cnblogs.com/martinding/p/7459544.html
Copyright © 2011-2022 走看看