MySQL 5.5 mysqldump备份说明

mysqldump客户端工具可以执行逻辑备份,生成一系列可以执行的SQL语句。通过这个工具可以备份出一个或多个MySQL数据库。mysqldump命令也可以生成CSV格式、分隔符格式或XML格式的输出文件。

--常用 参数

--help, -? 显示帮助

--user=user_name, -u user_name 当连接到MySQL服务器时,所使用的用户名

--password[=password], -p[password] 当连接到MySQL服务器时,所使用的密码;当使用短参数-p搭配明文密码时,在-p和密码之间不能有空格。

--socket=path, -S path 当连接到本地服务器时,Unix系统使用的套接字文件,或Windows系统使用的命名管道

--host=host_name, -h host_name MySQL服务器所在的主机。默认主机是本地服务器。

--port=port_num, -P port_num 连接所使用的TCP/IP端口号

--databases, -B 备份多个数据库

--all-databases, -A 备份所有数据库中的所有表

--tab=dir_name, -T dir_name 备份tab符分割的文本格式数据文件

--fields-terminated-by 导出文件的字段分隔符,搭配--tab参数使用

--fields-escaped-by 导出文件的字段包裹符,搭配--tab参数使用

--default-character-set=charset_name 指定默认的字符集

--tables 覆盖--databases or -B参数,备份出表的数据

--where='where_condition', -w 'where_condition' 只导出符合指定WHERE条件的行
例如:
--where="user='jimf'"
-w"userid>1"
-w"userid<1"

--lock-tables, -l 对于要备份的数据库,锁定所有要备份的表。对于MyISAM 表,所加的锁是READ LOCAL锁,以允许表的并发插入操作。对于事务性表InnoDB表,--single-transaction参数要比--lock-tables效果好,因为这个参数不会锁表。

--single-transaction 这个参数将事务的隔离模式设置为REPEATABLE READ,然后在备份前发送START TRANSACTION语句到服务器。这对于事务表InnoDB表来说很有用,因为备份的时候会备份一致状态的数据库(备份的时间点是发出START TRANSACTION语句的时候)而不会阻塞任何应用的进行

--no-data, -d 只导出表的结构

--no-create-info, -t 导出的时候,不导出CRATE TABLE语句

--force, -f 导出的时候,忽略所有错误,及时遇到SQL错误,也继续执行

--flush-logs, -F 导出前刷新日志文件

--extended-insert, -e 对于INSERT语句使用多行插入语法(一行INSERT语句带有多个VALUES列表),这个参数会缩小备份文件的大小并且会提高数据导入时的INSERT执行速度

--dump-slave[=value] 用于生成Slave备份集。

--include-master-host-port 通常和--dump-slave参数搭配使用,本参数将在CHANGE MASTER TO语句后附加MASTER_HOST和MASTER_PORT内容

--master-data[=value] 用于生成Slave备份集的专用参数

--lock-all-tables, -x 锁定数据库中所有的表。这个参数会在备份的过程中为数据库加上全局只读锁。这参数会关闭 --single-transaction 和 --lock-tables 这两个参数。

--disable-keys, -K 在导出的文件中输出/*!40000 ALTER TABLE tbl_name DISABLE KEYS */; 和 /*!40000 ALTER TABLE tbl_name ENABLE KEYS */;语句。在插入数据前先禁用索引,等数据插入完成后再启用索引,目的是为了加快导入的速度。

--max_allowed_packet 服务端和客户端连接使用buffer的最大字节长度,默认值时24MB,最大值时1GB。

--net_buffer_length 服务端和客户端连接使用的初始化buffer大小

--no-autocommit 禁用自动提交功能

--no-create-db, -n 不生成CREATE DATABASE语句

--routines, -R 导出存储过程和函数

--flush-privileges 当导出mysql数据库后执行FLUSH PRIVILEGES语句

--ignore-table=db_name.tbl_name 不导出的表名

[root@localhost backup]# /software/bin/mysqldump -help
Usage: mysqldump [OPTIONS] database [tables]
OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR     mysqldump [OPTIONS] --all-databases [OPTIONS]
For more options, use mysqldump --help

--备份单个数据库
[root@localhost tmp]# /software/bin/mysqldump -usystem -p'Mysql#2015' -S /data/mysql.sock fire > /backup/firedb_fullbk.sql

--备份多个数据库
[root@localhost tmp]# /software/bin/mysqldump -usystem -p'Mysql#2015' -S /data/mysql.sock --databases neo fire > /backup/fire_neo_db_fullbk.sql

--备份全库
[root@localhost tmp]# /software/bin/mysqldump -usystem -p'Mysql#2015' -S /data/mysql.sock --all-databases  > /backup/all_db_fullbk.sql

--备份所有库

[root@localhost backup]# /software/bin/mysqldump -usystem -p'Mysql#2015' -S /data/mysql.sock -A -R --single-transaction -l --default-character-set=utf8 | gzip > /backup/dbfullbak_`date +%F`.sql.gz
-- Warning: Skipping the data of table mysql.event. Specify the --events option explicitly.

[root@localhost backup]# ls -trl
-rw-r--r--. 1 root  root   1208158 Apr 23 07:11 dbfullbak_2016-04-23.sql.gz

--备份单个库,生成tab符分割的文本格式数据文件
[root@localhost tmp]# /software/bin/mysqldump -usystem -p'Mysql#2015' -S /data/mysql.sock --tab=/backup/ fire

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26506993/viewspace-2086259/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26506993/viewspace-2086259/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值