mysql备份工具_MySQL备份工具mysqldump

mysqldump是MySQL自带的逻辑备份工具,能够实现包括库级别、表级别、字段级别、表结构、where条件过滤等不同粒度的数据备份,备份出来的文件通常是文本形式保存的SQL语句,当然也可以是CSV,XML格式,这些文本文件能够很方便地再次导入到MySQL或者其他类型的数据库。

由于是逻辑备份,mysqldump工具在备份大数量的库时,耗时较长,因此不建议使用mysqldump备份大库,对于大库的备份建议使用物理备份工具,比如xtrabackup。

1. mysqldump需要的权限

SELECT

SHOW VIEW(导出视图)

TRIGGER(导出触发器)

LOCK TABLES(如果没有指定--single-transaction )

2. mysqldump用法与常用参数

将db_name库备份到db_name.sql文件中:

mysqldump -h 127.0.0.1 -u user -p'password' db_name > db_name.sql

将db_name库里面的tb_name表备份到tb_name.sql文件中:

mysqldump -h 127.0.0.1 -u user -p'password' db_name tb_name > tb_name.sql

常用参数:

--host,-h,指定MySQL IP地址

--user, -u,指定用户名

--password, -p,指定密码

--all-databases,-A,全库备份

--databases,-B,指定某个或者某些库备份

--tables,指定某个或者某些表备份

--where,-w,指定where条件进行过滤,只备份符合条件的数据

--result-file,指定备份文件路径

--no-data,只备份表结构,不备份实际行数据

--no-create-info,备份文件中不包含建表语句

--no-create-db,备份文件中不包含建库语句

--single-transaction,在一个事务中备份数据,可以避免锁表

MySQL 5.7 备份数据,导入时如果不想重置GTID,则在导入时,加上参数: --set-gtid-purged=OFF

3. mysqldump各种场景使用示例

3.1 备份表结构

导出db库里t1,t2表的表结构:

mysqldump -h 127.0.0.1 -u user -p'123456' db t1 t2 --no-data > t1.sql

导出db库里所有表的表结构:

mysqldump -h 127.0.0.1 -u user -p'123456' db --no-data > db.sql

3.2 备份表数据(包含表结构)

导出db库里t1,t2表的表数据,包含建表语句:

mysqldump -h 127.0.0.1 -u user -p'123456' db t1 t2 > t1_t2.sql

3.3 备份表数据(不包含表结构)

导出db库里t1,t2表的表数据,不包含建表语句:

mysqldump -h 127.0.0.1 -u user -p'123456' db t1 t2 --no-create-info > t1_t2.sql

3.4 备份一个数据库

导出db库里所有表的数据:

mysqldump -h 127.0.0.1 -u user -p'123456' db > db.sql

3.5 备份多个数据库

备份db1,db2两个数据库里所有表的数据:

mysqldump -h 127.0.0.1 -u user -p'123456' -B db1 db2 > db.sql

3.6 备份所有数据库

备份整个MySQL数据库,包括触发器,存储过程、函数,事件等等。

mysqldump -h 127.0.0.1 -u user -p'123456' --all-databases --triggers --routines --events > all.sql

3.7 指定where条件进行备份

sysbench测试表sbtest1包含id,k,c,pad这几个字段,如果想备份 k>1000 and k<5000 的数据,如下:

mysqldump -h 127.0.0.1 -u user -p'123456' sysbench sbtest1 --where="k>1000 and k<5000" > sbtest1.sql

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值