zoukankan      html  css  js  c++  java
  • MySQL Dump

    MySQL备份有逻辑备份与物理备份

    逻辑备份有MySQL自带的mysqldump工具

    物理备份有开源的Xtrabackup(免费版 ibbackup 热备份)

    今天总结一下,mysqldump

    dump 整个库(包含函数、存储过程、触发器等) mysqldump -uroot -pxxxx  --all-databases --single-transaction --triggers --routines --events -P3306 |gzip >test.tar.gz
    dump 整个库 mysqldump -uusername -ppassword --all-databases  --single-transaction  |gzip >test.tar.gz
    dump 多个DB-带数据 mysqldump -uusername -ppassword  --single-transaction  --databases db1 db2 > db1db2.sql
    dump 单个DB-不带数据 mysqldump 数据库名 -uroot -p > xxx.sql
    dump 单张表 mysqldump -uusername -ppassword db1 table1  > tb1tb2.sql
    dump 多张表 mysqldump -uusername -ppassword db1 table1 table2 > tb1tb2.sql
    dump 表的部分数据,带where条件 mysqldump -uroot -proot --databases db1 --tables a1 --where='id=1'  >/tmp/a1.sql
    dump 字段是字符串,并且导出的sql中不包含drop table,create table mysqldump -uroot -proot --no-create-info --databases db1 --tables a1 --where="id='a'"  >/tmp/a1.sql
    dump 表结构,不带数据 mysqldump -uroot -proot --no-data --databases db1 >/tmp/db1.sql
    dump 数据 mysqldump -t 数据库名 -uroot -p > xxx.sql
    dump 跨服务器(h1服务器中的db1数据库的所有数据导入到h2中的db2数据库中,db2的数据库必须存在否则会报错 mysqldump --host=h1 -uroot -proot -C --databases db1 |mysql --host=h2 -uroot -proot db2 (-C代表压缩)
    参数--single-transaction

    该选项在导出数据之前提交一个BEGIN SQL语句,BEGIN 不会阻塞任何应用程序且能保证导出时数据库的一致性状态。它只适用于多版本存储引擎(它不显示加锁通过判断版本来对比数据),仅InnoDB。本选项和--lock-tables 选项是互斥的,因为LOCK TABLES 会使任何挂起的事务隐含提交。要想导出大表的话,应结合使用--quick 选项。

    参数--quick, -q

    不缓冲查询,直接导出到标准输出。默认为打开状态,使用--skip-quick取消该选项。
  • 相关阅读:
    linux下文件的复制、移动与删除
    Hbase万亿级存储性能优化总结-配置
    hbase 读写和优化
    hive数据倾斜定位及处理
    flink初识及安装flink standalone集群
    【Linux】用less查看日志文件
    sqoop的详细使用及原理
    HBase删除数据的原理
    hbase数据加盐(Salting)存储与协处理器查询数据的方法
    Hbase内存磁盘大致关系
  • 原文地址:https://www.cnblogs.com/xibuhaohao/p/9957187.html
Copyright © 2011-2022 走看看