您的位置:首页 > 数据库 > MySQL

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

2019-10-16 11:41 1351 查看

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日志存放到共享存储中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: