mysql导入导出命令解析,开发进阶篇系列

2019-10-07 08:42 来源:未知

一.概述

    mysqldump顾客端工具是用来备份数据库或在区别数据库之间实行数量迁移。备份内容包含创设表或装载表的sql语句。mysqldump这两天是mysql中最常用的备份工具。
  二种办法来调用mysqldump,命令如下:
图片 1
  上海体育场合第一种是备份单个数据库恐怕库中有的数据表(从备份情势上,比sqlserver要灵活一些,固然sql server有文件组备份)。第三种是备份钦赐的三个要么多少个数据库。第三种是备份全数数据库。
  1.连接导出,上面将test数据库导出为test.txt文件,导出地点在data目录下

[root@hsr data]# /usr/local/mysql/bin/mysqldump -uroot -p test > test.txt

图片 2图片 3

  上海体育场所展示: 导出到test.txt文件里, 数据有几部份sql语句,包含:(1)有咬定表存在删除,(2)导出表结商谈表数据,(3)导前加table write锁,导完释放。通过上边援救命令能够看出暗中认可设置。

 [root@hsr data]# /usr/local/mysql/bin/mysqldump --help

图片 4  2. 输出内容选拔

-n, --no-create-db

不包含数据库的创建语句

-t, --no-create-info

不包含数据表的创建语句

-d,--no-data

不包含数据

    上边演示导出test库的a表,不带有数据:

[root@hsr data]# /usr/local/mysql/bin/mysqldump -uroot -p -d  test a > a.txt

图片 5

    上海体育场合突显,使用more 查看a.txt,内容独有表结构。
  3. 运用 --compact选项使得结果简洁,不包罗默许选项中的各样注释,上边仍旧演示a表:

[root@hsr data]# /usr/local/mysql/bin/mysqldump -uroot -p --compact  test a > a.txt

图片 6

  4. 应用-c --complete-insert 选项,使insert语句饱含字段名称

[root@hsr data]# /usr/local/mysql/bin/mysqldump -uroot -p -c --complete-insert  test b > b.txt

图片 7

  5. 施用-T选项将点名数量表中的数据备份为单纯的数额文本和建表sql, 多个文件。

     [root@hsr data]# midir bak
        [root@hsr data]# /usr/local/mysql/bin/mysqldump -uroot -p   test b -T ./bak
        Enter password: 
        mysqldump: Got error: 1290: The MySQL server is running with the --secure-file-priv option so it cannot execute 
                      this statement when executing 'SELECT INTO OUTFILE'

 --上面的语句报错,查找错误信息中的字段设置
SHOW VARIABLES LIKE '%secure%';

图片 8

    secure-file-priv参数是用来界定LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE()传到哪个钦命目录的。

                   (1) 当secure_file_priv的值为null ,表示限制mysqld 不允许导入|导出。

                   (2) 当secure_file_priv的值为/tmp/ ,表示限制mysqld 的导入|导出只可以发出在/tmp/目录下。

                   (3 )当secure_file_priv的值未有现实值时,表示不对mysqld 的导入|导出做限定。

    上边来设置my.cnf文件,加上导入地点,地方在/tmp 目录下,如下图:
图片 9图片 10

-- 再次导出,导出路径在/tmp下
[root@hsr data]#  /usr/local/mysql/bin/mysqldump -uroot -p   test b -T /tmp

图片 11

    使用more 查看文件,b.sql中含有了表架构, b.txt饱含数据。
图片 12

图片 13

   6.  字符集选项

    --default-character-set=name 选项可以安装导出的顾客端字符集。那个选项很首要,假如顾客端字符集和数据库字符集不同,有希望变为乱码,使得备份文件不可能苏醒。

[root@hsr data]#  /usr/local/mysql/bin/mysqldump -uroot -p  --compact --default-character-set=utf8 test >test.txt

    图片 14

  7. 别的常用选项

    (1) -F --flush-logs(备份前刷新日志)  备份前将关门旧日志,生成新日志。复苏的时候一贯从新日志开始展开重做,方便重振旗鼓进程。

    (2) -l --lock-tables(给全体表加读锁) 使得数据无法被更新,进而使备份的数额保持一致性(能够导致大量长日子阻塞)。

mysql导入导出命令深入分析,mysql导入导出解析

mysqldump是mysql用于转存款和储蓄数据库的实用程序。它最首要发生二个SQL脚本,当中富含从头重新创制数据库所必得的吩咐CREATE TABLE INSERT等。下边就让大家一同读书吧!

一、mysqldump:数据库备份程序
 有3种办法来调用mysqldump:

mysqldump [options] db_name [tables]
mysqldump [options] ---database DB1 [DB2 DB3...]
mysqldump [options] --all--database

如果未有一些名其余表或应用了---database或--all--database选项,则转储整个数据库。

1、备份一个多少库.

mysqldump -uroot -p123456 mysql > mysql_backup.sql

那边备份了database mysql的组织和数码,生成的sql文件不会有成立database mysql的言辞。

2、能够用三个下令备份mysql,test八个数据库:

mysqldump -u root -p123456 --database mysql test > my_databases.sql

转换的sql文件有创设database mysql和test的言语

3、备份全数数据库:

mysqldump -u root -p123456 --all-databases > all_databases.sql

4、导出mysql这些数据库的组织

 mysqldump -u root -p123456 -d --add-drop-table mysql > mysql_define.sql

5、导出二个数码颇有数据并用gz压缩

mysqldump -u root -p123456 mysql | gzip > mysql.sql.gz

能够如此将转储文件读回到服务器:

mysql db_name < backup-file.sql
mysql -e "source /path-to--backup/backup-file.sql" db_name

抑或从gz文件中回复

gunzip -f < mysql.sql.gz | mysql -u root -p123456 test

 

二、SELECT...INTO OUTFILE SELECT...INTO OUTFILE 'file_name'格局的SELECT能够把被增选的行写入叁个文本中,该公文被创设到服务器主机上。

SELECT...INTO OUTFILE是LOAD DATA INFILE的补语;用于语句的exort_options部分的语法包涵部分FIELDS和LINES子句,这么些子句与LOAD DATA INFILE语句同一时候利用。

在上边包车型大巴例子中,生成叁个文本,各值用逗号隔断。这种格式能够被多数前后相继行使

SELECT * INTO OUTFILE '/tmp/result.txt' 
FIELDS TERMINATED BY ',' 
OPTIONALLY ENCLOSED BY '"' 
LINES TERMINATED BY 'n'
FROM mysql.user;

将mysql数据库的user表的数额导出到/tmp/result.txt

SELECT...INTO OUTFILE只可以导出数据,不能导出结构,日常和load data联合使用。

 

三、LOAD DATA INFILE
LOAD DATA INFILE语句用于高速地从二个文书文件中读取行,并装入一个表中。文件名称必得为三个文字字符串。

由character_set_database系统变量提示的字符集被用来解释文件中的新闻。

LOAD DATA LOCAL INFILE '/tmp/result.txt' INTO TABLE test.user
FIELDS TERMINATED BY ',' 
OPTIONALLY ENCLOSED BY '"' 
LINES TERMINATED BY 'n'

把/tmp/result.txt的数额导入到test数据库的user表。

四、导入导出格式

FIELDS TERMINATED BY ','   字段间分割符采用,号
OPTIONALLY ENCLOSED BY '"'     用"号将字段包围,对数值型无效
LINES TERMINATED BY 'n'       记录间隔符采用n换行符

如上正是关于mysql导入导出命令的整个介绍,希望对我们熟知驾驭mysql命令有所帮助

mysqldump是mysql用于转存款和储蓄数据库的实用程序。它根本产生二个SQL脚本,其中满含从头重新创造数据...

TAG标签:
版权声明:本文由金沙澳门唯一官网发布于数据库管理,转载请注明出处:mysql导入导出命令解析,开发进阶篇系列