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

    慢慢沉淀自己
  • 相关阅读:
    Linux企业级项目实践之网络爬虫(6)——将程序设计成为守护进程
    Linux企业级项目实践之网络爬虫(5)——处理配置文件
    Linux企业级项目实践之网络爬虫(3)——设计自己的网络爬虫
    Linux企业级项目实践之网络爬虫(4)——主程序流程
    Linux企业级项目实践之网络爬虫(1)——项目概述及准备工作
    Linux企业级项目实践之网络爬虫(2)——网络爬虫的结构与工作流程
    泛化、依赖、关联、聚合、组合
    日常(停课后的月考)
    日常(停课后的月考)
    打击罪犯
  • 原文地址:https://www.cnblogs.com/martinding/p/7459544.html
Copyright © 2011-2022 走看看