登录
首页 >  数据库 >  MySQL

分析MySQL mysqldump参数(备份命令)

来源:SegmentFault

时间:2023-02-22 21:56:44 415浏览 收藏

怎么入门数据库编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面golang学习网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《分析MySQL mysqldump参数(备份命令)》,涉及到MySQL、mysqldump,有需要的可以收藏一下

1. 语法选项说明

  • 1
     
  • 1
    --delete-master-logs

    备份完成后删除主库上的日志。这个选项会自动打开``--master-data`。
  • --opt

    1
    <code>-add-drop-table, --add-locks, --create-options, --quick, --extended-insert, --lock-tables, --set-charset, --disable-keys</code>
    。(默认已开启,
    1
    --skip-opt
    关闭表示这些选项保持它的默认值)应该给你为读入一个MySQL服务器的尽可能最快的导出,
    1
    --compact
    差不多是禁用上面的选项。

  • 1
    -q, --quick

    不缓冲查询,直接导出至stdout。(默认打开,用
    1
    --skip-quick
    来关闭)该选项用于转储大的表。
  • 1
    --set-charset

    1
    SET NAMES default_character_set
    加到输出中。该选项默认启用。要想禁用
    1
    SET NAMES
    语句,使用
    1
    --skip-set-charset
  • 1
    --add-drop-tables

    在每个
    1
    CREATE TABLE
    语句前添加
    1
    DROP TABLE
    语句。默认开启。
  • 1
    --add-locks

    在每个表导出之前增加
    1
    LOCK TABLES
    并且之后
    1
    UNLOCK TABLE
    。(为了使得更快地插入到MySQL)。默认开启。
  • 1
    --create-option

    在CREATE TABLE语句中包括所有MySQL表选项。默认开启,使用
    1
    --skip-create-options
    来关闭。
  • 1
    -e, --extended-insert

    使用全新多行INSERT语法,默认开启(给出更紧缩并且更快的插入语句)
  • 1
    -d, --no-data

    不写入表的任何行信息。如果你只想得到一个表的结构的导出,这是很有用的。
  • 1
    --add-drop-database

    在create数据库之前先
    1
    DROP DATABASE
    ,默认关闭,所以一般在导入时需要保证数据库已存在。
  • 1
    --default-character-set=

    使用的默认字符集。如果没有指定,mysqldump使用utf8。
  • 1
    -B, --databases

    转储几个数据库。通常情况,mysqldump将命令行中的第1个名字参量看作数据库名,后面的名看作表名。使用该选项,它将所有名字参量看作数据库名。
    1
    CREATE DATABASE IF NOT EXISTS db_name
    1
    USE db_name
    语句包含在每个新数据库前的输出中。
  • 1
    --tables

    覆盖
    1
    --database
    选项。选项后面的所有参量被看作表名。
  • 1
    -u[ name], --user=

    连接服务器时使用的MySQL用户名。
  • 1
    -p[password], --password[=password]

    连接服务器时使用的密码。如果你使用短选项形式(-p),不能在选项和密码之间有一个空格。如果在命令行中,忽略了
    1
    --password
    1
     
    选项后面的 密码值,将提示你输入一个。

2. 示例

导出一个数据库:

1
2
3
4
$ mysqldump -h localhost -uroot -ppassword
--master-data=2 --single-transaction --add-drop-table --create-options --quick
--extended-insert --default-character-set=utf8
--databases discuz > backup-file.sql

导出一个表:

1
$ mysqldump -u pak -p --opt --flush-logs pak t_user > pak-t_user.sql

将备份文件压缩:

1
2
3
4
5
6
$ mysqldump -hhostname -uusername -ppassword --databases dbname | gzip > backup-file.sql.gz
对应的还原动作为
gunzip <p>导入数据库:</p><p></p><pre class="brush:go;">mysql> use target_dbname
mysql> source /mysql/backup/path/backup-file.sql
$ mysql target_dbname <backup-file.sql><p>导入还有一个</p><pre class="brush:go;">mysqlimport</pre>命令,暂未研究。<p>直接从一个数据库向另一个数据库转储:</p><p></p><pre class="brush:go;">mysqldump -u用户名 -p --opt dbname | mysql --host remote_host -C dbname2</pre><p>关于增量备份与恢复请参考:<a target="_blank" href="https://www.17golang.com/gourl/?redirect=MDAwMDAwMDAwML57hpSHp6VpkrqbYLx2eayza4KafaOkbLS3zqSBrJvPsa5_0Ia6sWuR4Juaq6t9nq5roGCUgXpusdyfso6JfdrGe2ramdyZo5qYYKavnHGss3xwqH2ica-ztp-smYqF3cZ6atSa0LKykr1hnMSggpzHf3GZiZCHqsm7qJ6Oip_Nxoxz15K2nKOB332aq2SCoLN9n6d-gI5ts6q3sYGGm869rnqZh6fPbZK6fWO7rH2uv42Omn6mhm0">MySQL增量备份与恢复实例</a>。</p><h2>参考</h2><ul class=" list-paddingleft-2"><li><p><a target="_blank" href="https://www.17golang.com/gourl/?redirect=MDAwMDAwMDAwML57hpSHp6VpkrqbYLx2eayza4KafaOkbLS3zqSBrJvPsa5_0Ia6sWuR4Juaq6t9nq5roGCUgXuytMyero55jZewoWKZm5aqrITTfqbEhWmfx2uFppOmj6XHuqytgKye2rF3atCazJ2tnb5-qMR5gmXHkXmlkYGLrMems6J9q4TPvnuGlIenpWmSuptgvHZ5rLNrgpp9o6RstLfOpIGsm8-xrn_Qhrqxa5Hgm20">4.5.4 mysqldump — A Database Backup Program</a></p></li><li><p><a target="_blank" href="https://www.17golang.com/gourl/?redirect=MDAwMDAwMDAwML57hpSHp6VpkrqbYLx2eayza4KafaOkbLS3zqSBrJvPsa5_0Ia6sWuR4Juaq6t9nq5roGCUgXuytMyero2fr9u-rWWVhbqyaZrfZZrEZGCqx4B-popsj6DH0MmugYZ4mLN4mN2FprGjgd99mrx5hWS0fXlgio2kaL-nr7CCZIHPsZ6cmIe3zKWF4JSar6x-oLOQhWKJs6R1">总结:MySQL备份与恢复的三种方法</a></p></li><li><p><a target="_blank" href="https://www.17golang.com/gourl/?redirect=MDAwMDAwMDAwML57hpSHp6VpkrqbYLx2eayza4KafaOkbLS3zqSBrJvPsa5_0Ia6sWuR4Juaq6t9nq5roGCUgXuytMyerphlm5iwoX_ZkdDcr5KZfaW7ZGmosWmGn4qRg6i_tp-vgKyE37F4nJSGt72uma6CpMR1fZ6usoWaioCOaLSnp2iOhqKVvnh63IaVrqOF0JtksYaYoLKznJp9s4eks7qzao2soqI">mysql备份与还原(含增量)</a></p></li></ul><hr><p>原文链接地址:<a target="_blank" href="https://www.17golang.com/gourl/?redirect=MDAwMDAwMDAwML57hpSHp6VpkrqbYLx2eayza4KafaOkbLS3zqSBrJvPsa5_0Ia6sWuR4Juaq6t9nq5roGCUgXpusdyfa5isfN6won_QkbqZrJqYaaKun36qx4yFmnmyhqK_qrtog3Z4lb6InJSSp62xhph6mq-cm2i0jaCcfbOdorLdtKSCiYSXva6coQ">http://seanlook.com/2014/12/05/mysql_mysqldump_options_examples/</a></p><hr><p>以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于数据库的相关知识,也可关注golang学习网公众号。</p></backup-file.sql></pre>
声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表