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

    慢慢沉淀自己
  • 相关阅读:
    算法学习:二分法从入门到精通
    TypeScript筑基笔记一:Visual Studio Code 创建Typescript文件和实时监控
    LeetCode 92. 反转链表 II
    LeetCode 1525. 字符串的好分割数目
    字节跳动-people后台一面面经
    LeetCode 117. 填充每个节点的下一个右侧节点指针 II
    LeetCode 1529. 灯泡开关 IV
    LeetCode 165. 比较版本号
    LeetCode 312. 戳气球
    LeetCode 605. 种花问题
  • 原文地址:https://www.cnblogs.com/martinding/p/7459544.html
Copyright © 2011-2022 走看看