美文网首页学习随记
Mysql 备份 — mysqldump 指令

Mysql 备份 — mysqldump 指令

作者: o黄裳元吉o | 来源:发表于2017-02-27 17:47 被阅读129次

参与的一个项目需要将mysql数据库整个备份导出,我用百度大法学习了mysql的备份方法。

一. mysqldump常见用法

mysqldump指令详见:
<pre>
mysqldump --help
</pre>

1.1 导出整个数据库(包含结构和数据)

<pre>
mysqldump -u用户名 -p密码 -h主机 数据库1 数据库2 > 转储文件路径
</pre>

上述命令将指定数据库(可以是一个或多个)备份到某dump文件中,比如:

<pre>
mysqldump -u root -p123456 znms > znmsdump.sql
</pre>

上述命令将本机上的znms数据库整个备份到当前路径下的znmsdump.sql文件中。

1.2 导出数据库结构(不含数据)

<pre>
mysqldump -u用户名 -p密码 -h主机 -d 数据库1 数据库2 > 转储文件路径
</pre>

上述命令仅将指定数据库的结构备份到某dump文件中,比如:

<pre>
mysqldump -u root -p -d znms > znmsdump.sql
</pre>

1.3 导出数据库中的表

<pre>
mysqldump -u用户名 -p密码 -h主机 -d 数据库名 表1 表2 表3 > 转储文件路径
</pre>

上述命令将指定数据库的指定表(一张或多张)导出到指定文件,例如:

<pre>
mysqldump -u root -p123456 znms user_info role user_role > znmsdump.sql
</pre>

如果加上 -d 或 --no-data,将只导出表结构,如:

<pre>
mysqldump -u root -p123456 -d znms user_info role user_role > znmsdump.sql
</pre>

加上--where="筛选条件" 可对表中数据进行筛选后再导出,例如:
<pre>
mysqldump -u root -p123456 znms user_info --where="id>10" > znmsdump.sql
</pre>

1.4 数据库迁移

以下命令将数据库导出然后通过管道导入到另一台机子上的数据库:
<pre>
mysqldump -u root -p123456 --single-transaction--databases db1 db2 | mysql -u root -p123456 -h 172.16.1.25
</pre>

二. 重要参数说明

--add-drop-database:每个数据库创建之前添加drop数据库语句。默认为打开状态,使用--skip-add-drop-table取消。
--comments:附加注释信息。默认为打开,可以用--skip-comments取消。
--lock-tables:在导出数据前先锁表,导出完成后释放。注意如果导出多个数据库,则在前一个表导出完成后,后一个表才上锁。
--lock-all-tables:它会在一开始就对所有的数据库的所有表上锁,请注意它会使用FLUSH TABLES。
--single-transaction:它设置整个导出的过程为一个事务,避免了锁。
--master-data:它对所有数据库的所有表上了锁,并且查询binlog的位置。请注意它会使用FLUSH TABLES。
--master-data --single-transaction:这种组合,会先对所有数据库的所有表上锁,读取binlog的信息之后就立即释放锁,这个过程是十分短暂的,然后整个导出过程都在一个事务里。请注意它会使用FLUSH TABLES。
-F or -flush-logs:使用这个选项,在执行导出之前将会刷新MySQL服务器的log。
-f or -force:使用这个选项,即使有错误发生,仍然继续导出。
-t or -no-create-info:这个选项使的mysqldump命令不创建CREATE TABLE语句,这个选项在只需要数据而不需要DDL(数据库定义语句)时很方便。
-d or -no-data :这个选项使的mysqldump命令不创建INSERT语句,即不导出数据。

相关文章

  • Mysql 备份 — mysqldump 指令

    参与的一个项目需要将mysql数据库整个备份导出,我用百度大法学习了mysql的备份方法。 一. mysqldu...

  • mysql数据备份和恢复

    mysql数据备份和恢复 MySQLdump 是MySql 提供的用于数据备份的工具。通过执行MySqldump命...

  • mysqldump备份

    mysqldump备份(mysqldump位于..MySQL\MySQL Server 5.5\下) 1、将指定数...

  • mysql备份和数据恢复

    一、mysqldump 简介mysqldump 是 MySQL 自带的逻辑备份工具。 它的备份原理是通过协议连接到...

  • Linux运维细节

    mysql备份mysqldump -uroot -p123456 mysql > /root/mysql_$(da...

  • MySQL mysqldump数据导出

    mysqldump简介 mysqldump是MySQL自带的逻辑备份工具。 它的备份原理是通过协议连接到 MySQ...

  • mysql mysqldump备份恢复策略

    备份: 1、单库备份:/data/mysql/bin/mysqldump -uxxx -pxxx --single...

  • mysql数据库备份与恢复

    数据库备份 使用mysql自带备份命令行就可实现数据库备份与恢复 备份全部库 mysql> mysqldump -...

  • 一些小知识点--mysqldump

    一、mysqldump 简介 mysqldump 是 MySQL自带的逻辑备份工具 它的备份原理是通过协议连接到M...

  • shell脚本

    备份 MySQL 的 shell 脚本(mysqldump版本) mysql> SET GLOBAL slow_q...

网友评论

    本文标题:Mysql 备份 — mysqldump 指令

    本文链接:https://www.haomeiwen.com/subject/aoizwttx.html