2022
我们一起努力

MySQL 5.5 mysqldump备份说明 - MySQL数据库

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执行速度

MySQL 5.5 mysqldump备份说明 - MySQL数据库

–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

赞(0)
文章名称:《MySQL 5.5 mysqldump备份说明 - MySQL数据库》
文章链接:https://www.fzvps.com/99024.html
本站文章来源于互联网,如有侵权,请联系管理删除,本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
图片版权归属各自创作者所有,图片水印出于防止被无耻之徒盗取劳动成果的目的。

评论 抢沙发

评论前必须登录!