欢迎光临
我们一直在努力

我的Mysql学习笔记之Mysql的备份工具:mydqldump

mysqldump:mysql自带的备份工具,是一种逻辑备份工具,它会将数据从数据库读出,转化为相应sql语句。
能够实现完全备份或部分备份,使用innodb数据库引擎的表可实现热备,使用mysisam数据库引擎的表只能实现温备。
适用于数据量较小的数据库备份,无法备份索引等信息,当数据为浮点类型时,会出现精度丢失,备份过程是串行的。

mysqldump
–user= 指定以那个账号与MySQL服务器进行交互
–password 交互式输入密码
–password=xxx 非交互式输入密码(适用于脚本中使用)
-A,–all-databases:备份所有数据库的所有表
-Y,–all-tablespaces:备份全部表空间
-y,–no-tablespaces:不备份表空间
-B,–databases:指定要备份的数据库,可同时指定多个数据库,数据库之间用空格隔开
–tables 如果想备份同一个数据库中的多个表,只需在–tables后,以空格分隔的方式列出这些表既可
-C,–compress:压缩传输
-x,–lock-all-tables:锁定所有表
-l,–lock-tables:锁定备份的表
-F,–flush-logs:锁定表之后执行flush logs命令
-d:只备份表结构,不包含表数据
–master-data:标记备份开始时binlog所对应的position(位置)
–master-data=0 #不记录对应二进制文件位置
–master-data=1 #记录对应二进制日志文件位置
–master-data=2 #

-R,--routines:表示备份时,存储过程和存储函数也会被备份
--triggers:表示备份时,触发器会被备份
-E,--events;表示备份时,事件表会被备份

--skip-add-drop-table
    不带DROP TABLE语句,既不在恢复时删除原表
--skip-add-locks 
    不带锁表语句
--skip-comments
    不带注释
--skip-disable-keys
    不带使表中的索引暂时失效的语句
--skip-set-charset
    不带SET NAMES,既不在恢复时设置字符集

Mysql的数据恢复严重依赖bin-log日志,所以为了防止磁盘故障导致数据文件和bin-log文件一起丢失,最好把bin-log日志存放到共享存储中。
赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。