天天看点

mysql数据库备份工具mysqldump常见用法示例

作者:运维开发木子李

#头条创作挑战赛#

mysqldump是MySQL数据库提供的一个命令行工具,用于备份和恢复MySQL数据库。它可以导出数据库的结构和数据,以便在需要时可以轻松地恢复数据。

mysql数据库备份工具mysqldump常见用法示例

下面是一些常见的mysqldump用法示例:

备份整个数据库:

mysqldump -u username -p password database_name > backup.sql           

这将导出database_name数据库的结构和数据,并将其保存在backup.sql文件中。

备份多个数据库:

mysqldump -u username -p password --databases database1 database2 database3 > backup.sql           

这将导出database1、database2和database3三个数据库的结构和数据,并保存在backup.sql文件中。

备份所有数据库:

mysqldump -u username -p password --all-databases > backup.sql           

这将导出所有数据库的结构和数据,并保存在backup.sql文件中。

备份特定的表:

mysqldump -u username -p password database_name table1 table2 > backup.sql           

这将导出database_name数据库中的table1和table2两个表的结构和数据,并保存在backup.sql文件中。

备份数据库结构但不包括数据:

mysqldump -u username -p password --no-data database_name > backup.sql           

这将导出database_name数据库的结构,但不包括其中的数据,并保存在backup.sql文件中。

备份数据库数据但不包括结构:

mysqldump -u username -p password --no-create-info database_name > backup.sql           

这将导出database_name数据库的数据,但不包括表结构,并保存在backup.sql文件中。

备份数据库结构和数据,但跳过指定的表:

mysqldump -u username -p password --ignore-table=database_name.table_name database_name > backup.sql           

这将导出database_name数据库的结构和数据,但跳过名为table_name的表,并保存在backup.sql文件中。

以gzip压缩格式备份数据库:

mysqldump -u username -p password database_name | gzip > backup.sql.gz           

这将导出database_name数据库的结构和数据,并使用gzip压缩,最终保存在backup.sql.gz文件中。

仅备份数据库结构,以CREATE语句形式显示:

mysqldump -u username -p password --no-data --skip-comments database_name > backup.sql           

这将导出database_name数据库的结构,并以CREATE语句的形式显示,不包括数据,并保存在backup.sql文件中。

仅备份数据库数据,以INSERT语句形式显示:

mysqldump -u username -p password --no-create-info --skip-comments database_name > backup.sql           

这将导出database_name数据库的数据,并以INSERT语句的形式显示,不包括表结构,并保存在backup.sql文件中。

备份特定表的数据,以INSERT语句形式显示:

mysqldump -u username -p password --no-create-info --skip-comments database_name table_name > backup.sql           

这将导出database_name数据库中table_name表的数据,并以INSERT语句的形式显示,不包括表结构,并保存在backup.sql文件中。

备份数据库为XML格式:

mysqldump -u username -p password --xml database_name > backup.xml           

这将导出database_name数据库的结构和数据,并保存为XML格式的文件backup.xml。

备份数据库为CSV格式:

mysqldump -u username -p password --tab=/path/to/output/folder database_name           

这将导出database_name数据库的结构和数据,并将数据以CSV格式保存在指定的文件夹/path/to/output/folder中。

  1. 备份数据库为SQL格式,并指定编码:
mysqldump -u username -p password --default-character-set=utf8 database_name > backup.sql           

这将导出database_name数据库的结构和数据,并将其保存在backup.sql文件中,使用UTF-8编码。

备份指定日期之后的数据:

mysqldump -u username -p password --where="date_column >= '2022-01-01'" database_name > backup.sql           

这将导出database_name数据库中date_column列大于等于2022-01-01的数据,并将其保存在backup.sql文件中。

备份数据库并压缩成tar文件:

mysqldump -u username -p password database_name | tar -czvf backup.tar.gz -C /path/to/output/folder/           

这将导出database_name数据库的结构和数据,并使用tar和gzip压缩,最终将备份文件保存在/path/to/output/folder/目录中的backup.tar.gz文件中。

从备份文件恢复数据库:

mysql -u username -p password database_name < backup.sql           

这将从backup.sql备份文件中恢复数据到database_name数据库中。

从压缩的备份文件恢复数据库:

gunzip < backup.sql.gz | mysql -u username -p password database_name           

这将从gzip压缩的backup.sql.gz备份文件中解压缩并恢复数据到database_name数据库中。

使用远程服务器进行备份:

mysqldump -h remote_host -u username -p password database_name > backup.sql           

这将使用远程MySQL服务器进行备份,其中remote_host是远程服务器的主机名或IP地址。

使用ssh隧道进行备份:

制ssh user@remote_host "mysqldump -u username -p password database_name" > backup.sql           

这将通过ssh隧道连接到远程服务器,然后在远程服务器上执行mysqldump命令,并将备份数据导出到本地的backup.sql文件中。

备份数据库并指定每个插入语句的行数:

mysqldump -u username -p password --insert-ignore --extended-insert=FALSE --max-insert-length=1000 database_name > backup.sql           

这将导出database_name数据库的结构和数据,并将每个插入语句的行数限制为1000行,并且忽略重复的插入语句。

备份数据库并指定备份级别:

mysqldump -u username -p password --single-transaction --master-data=2 database_name > backup.sql           

这将以事务的方式备份database_name数据库,并生成一个带有二进制日志文件和位置信息的备份文件。

备份数据库并同时输出备份进度:

mysqldump -u username -p password --verbose database_name > backup.sql           

这将以详细模式备份database_name数据库,并在备份过程中显示进度信息。

备份数据库并自动压缩成zip文件:

mysqldump -u username -p password database_name | zip > backup.zip           

这将导出database_name数据库的结构和数据,并使用zip压缩,最终保存在backup.zip文件中。

备份数据库并将结果发送到电子邮件:

mysqldump -u username -p password database_name | mail -s "Database Backup" [email protected]           

这将导出database_name数据库的结构和数据,并通过电子邮件发送给指定的收件人。这些示例涵盖了一些常见的mysqldump用法,你可以根据自己的需求进行调整和扩展。请注意,在实际使用中,应根据需要选择适当的选项,并确保对备份文件的存储和保护进行妥善管理。

继续阅读