zoukankan      html  css  js  c++  java
  • mysqldump使用笔记

    mysqldump备份简述

    mysqldump可产生两种类型的输出文件,取决于是否选用 --tab=dir_name选项。

    1.不使用 --tab=dir_name选项,mysqldump产生的数据文件是纯文本的SQL文件,如CREATE(数据库、表、存储路径等)语句和INSERT(记录)语句组成。输出结果以一个文件保存,可用mysql命令去恢复备份文件。

    2.使用 --tab=dir_name选项,mysqldump对于每一个需要备份的数据表产生两个输出文件:一个是带分隔符的文本文件,备份的数据表中的每行存储为文本中的一行,以"表名.txt"保存;另一个输出文件为数据表的CREATE TABLE语句,以"表名.sql"保存。

    mysqldump语法和选项

    在linux系统中,可以使用 man mysqldump命令,或者,mysqldump -hlep命令查看相关选项的使用

    --all-databases表示备份系统中所有数据库,使用 --databases参数之后,必须指定至少一个数据库的名称,多个数据库名称之间用空格隔开

    【常用的选项】

    1.--add-drop-table

    这个选项讲会在每一个表的前面加上DROP TABLE IF EXISTS语句,这样可以保证导回MYSQL数据库的时候不会出错,因为每次导回的时候,都会首先检查表是否存在,存在就删除。

    2.--add-locks

    这个选项会在INSERT语句中捆上一个LOCK TABLE和UNLOCK TABLE语句。这就防止在这些记录被再次导入数据库时其他用户对表进行操作。

    3.--tab

    这个选项将会创建两个文件,一个是带分隔符的文本文件,备份的数据表中的每行存储问文本中的一行,以"表名.txt"保存;另一个输出文件为数据表的CREATE TABLE语句,以"表名.sql"保存。

    4.--quick或者--opt

    如果你未使用--quick或者--opt选项,那么mysqldump将在转储结果之前把全部内容载入到内存中。这在你转储大数据量的数据库时将会有些问题。该选项默认是打开的,但可以使用--skip-opt关闭它。

    5.--skip-comments

    该选项可以去掉导出文件中的注释语句

    6.--compact

    该选项可以只输出最重要的语句,而不输出注释及删除表语句等。

    在windows下,可以使用下面的语句导出所有的数据库

    mysqldump -h 主机名 -u 用户名 -p --all-databases > C:备份文件名.sql

    mysqldump -u用户名 -p --databases db1 db2 db3... > 备份文件名.sql

    mysqldump -u用户名 -p --databases db_name > db_name.sql(--databases 会生成CRATE DATABASE 和 USE 语句)

    mysqldump -u用户名 -p db_name > db_name.sql (不会生成CRATE DATABASE 和 USE 语句)

    mysqldump -u用户名 -p 数据库名 表名1 表名2 表名3... > 备份文件名.sql

    mysqldump -uroot -p -S /tmp/mysql3306.sock --databases db_name > db_name.sql

    mysqldump -uroot -p -S /tmp/mysql3306.sock db_name > db_name.sql

  • 相关阅读:
    Java怎样对一个属性设置set或get方法的快捷键
    小程序怎样控制rich-text中的<img>标签自适应
    Java中Arrys数组常用的方法
    Java 怎样实现调用其他方法
    Java保留两位小数
    解决ajax请求跨域
    rand(7) 到rand(10)
    c++生成随机数
    批量该文件名
    正则表达式(=)
  • 原文地址:https://www.cnblogs.com/lzh007blog/p/9272250.html
Copyright © 2011-2022 走看看