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

    慢慢沉淀自己
  • 相关阅读:
    Java的五个基础面试题 容易搞倒老手的
    新北邦java笔试题
    Mysql面试题及答案
    MySQL取得当前时间的函数是什么 格式化日期的函数是什么
    mysql索引优化面试题
    介绍一下mysql的日期和时间函数
    MYSQL面试题:简单叙述一下MYSQL的优化
    不少程序员都会碰到的三个面试题
    HTTP URLEncoding
    Comparable vs. Comparator in Java
  • 原文地址:https://www.cnblogs.com/martinding/p/7459544.html
Copyright © 2011-2022 走看看