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

一.概述

    mysqldump客商端工具是用来备份数据库或在分化数据库之间张开数据迁移。备份内容饱含成立表或装载表的sql语句。mysqldump如今是mysql中最常用的备份工具。
  二种格局来调用mysqldump,命令如下:
亚洲必赢bwin688 1
  上海教室第后生可畏种是备份单个数据库大概库中有个别数据表(从备份格局上,比sqlserver要灵活一些,即使sql
server有文件组备份卡塔尔。第二种是备份钦命的二个还是四个数据库。第三种是备份所有数据库。
  1.连接导出,上边将test数据库导出为test.txt文件,导出地点在data目录下

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

亚洲必赢bwin688 2亚洲必赢bwin688 3

  上海教室展现: 导出到test.txt文件里,
数据有几部份sql语句,包罗:(1)有咬定表存在删除,(2)导出表结会谈表数据,(3)导前加table
write锁,导完释放。通过上边支持命令能够看见暗许设置。

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

亚洲必赢bwin688 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

亚洲必赢bwin688 5

    上海体育场面显示,使用more 查看a.txt,内容独有表结构。
  3. 运用
–compact选项使得结果简洁,不包涵暗中认可选项中的各个注释,下边依旧演示a表:

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

亚洲必赢bwin688 6

  4. 应用-c –complete-insert 选项,使insert语句包涵字段名称

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

亚洲必赢bwin688 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%';

亚洲必赢bwin688 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 目录下,如下图:
亚洲必赢bwin688 9亚洲必赢bwin688 10

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

亚洲必赢bwin688 11

    使用more 查看文件,b.sql中包括了表架构, b.txt包罗数据。
亚洲必赢bwin688 12

亚洲必赢bwin688 13

亚洲必赢bwin688,   6.  字符集选项

    –default-character-set=name
选项能够安装导出的顾客端字符集。那一个选项十分重大,借使客商端字符集和数据库字符集不相仿,有不小恐怕形成乱码,使得备份文件不也许复苏。

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

    亚洲必赢bwin688 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脚本,当中蕴含从头重新创设数据…

mysql 常用命令

mysql 导入导出的吩咐。

使用mysqldump命令
mysqldump
是命令行工具,首要用来mysql备份和恢复数据。那么些命令使用起来方便,直接在终极推行。

Dumping structure and contents of MySQL databases and tables.
Usage: mysqldump [OPTIONS] database [tables]
OR mysqldump [OPTIONS] –databases [OPTIONS] DB1 [DB2 DB3…]
OR mysqldump [OPTIONS] –all-databases [OPTIONS]

mysqldump 的首要参数:

-h, –host=ip 主机地址
-u, –user=name 登入顾客名
-P, –port=# Mysql连接端口
-p, –password[=name]
Mysql密码。就算不给定值,直接回车,会唤起输入密码
-d, –no-data 不包涵行音信,只导出表结构

那几个命令都无须特意去记,推行 mysqldump –help , 就足以查询利用协理。

导出整个表(包蕴数据)
mysqldump -u 用户名 -p [密码] 数据库名 > 导出的文本名
导出表

带有数据

mysqldump -u 顾客名 -p 数据库名 表名 > 导出的文件名