千家信息网

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

发表于:2025-02-11 作者:千家信息网编辑
千家信息网最后更新 2025年02月11日,mysqldump:mysql自带的备份工具,是一种逻辑备份工具,它会将数据从数据库读出,转化为相应sql语句。能够实现完全备份或部分备份,使用innodb数据库引擎的表可实现热备,使用mysisam
千家信息网最后更新 2025年02月11日我的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