1010cc时时彩标准版 > 1010cc三分网站 > 【1010cc时时彩标准版】mysql导入导出命令解析,数

原标题:【1010cc时时彩标准版】mysql导入导出命令解析,数

浏览次数:64 时间:2019-10-14

一.概述

    mysqldump顾客端工具是用来备份数据库或在不一致数据库之间实行数量迁移。备份内容包括创建表或装载表的sql语句。mysqldump这段日子是mysql中最常用的备份工具。
  三种艺术来调用mysqldump,命令如下:
1010cc时时彩标准版 1
  上海教室第一种是备份单个数据库也许库中部分数据表(从备份方式上,比sqlserver要灵活一些,就算sql server有文件组备份)。第三种是备份钦命的贰个要么四个数据库。第两种是备份全部数据库。
  1.连接导出,上边将test数据库导出为test.txt文件,导出地方在data目录下

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

1010cc时时彩标准版 21010cc时时彩标准版 3

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

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

1010cc时时彩标准版 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

1010cc时时彩标准版 5

    上海体育场面展现,使用more 查看a.txt,内容唯有表结构。
  3. 使用 --compact选项使得结果简洁,不包含暗中同意选项中的各个注释,上面照旧演示a表:

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

1010cc时时彩标准版 6

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

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

1010cc时时彩标准版 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%';

1010cc时时彩标准版 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 目录下,如下图:
1010cc时时彩标准版 91010cc时时彩标准版 10

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

1010cc时时彩标准版 11

    使用more 查看文件,b.sql中蕴藏了表架构, b.txt富含数据。
1010cc时时彩标准版 12

1010cc时时彩标准版 13

   6.  字符集选项

    --default-character-set=name 选项可以设置导出的顾客端字符集。那几个选项很器重,固然客商端字符集和数据库字符集不一样,有望成为乱码,使得备份文件不可能复苏。

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

    1010cc时时彩标准版 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 -u root -p

mysql> set names utf8; (幸免乱码,先安装字符集)
mysql> use test;
mysql> source ~/Code/tmp/db1_ddl.sql
使用into outfile 和 load data infile命令
有时,大家需求依靠查询条件导出SQL,能够利用mysql语句:into outfile 和 load data infile。

同source命令, 都需求首先登场陆mysql。

导出

select * from tb1 into outfile '/var/lib/mysql-files/outfile1' fields terminated by '|' enclosed by '"' lines terminated by 'rn' ;
导入

load data infile "/var/lib/mysql-files/outfile1" replace into table tb1 fields terminated by '|' enclosed by '"' lines terminated by 'rn' ;
用这两条命令还是有注意事项:

相隔符参数

田野同志s关键字钦命了文本记段的划分格式,若是用到那么些主要字,MySQL深入分析器希望观望至稀少上边的三个选项:

terminated by 分隔符:意思是以怎么样字符作为分隔符
enclosed by 字段括起字符
escaped by 转义字符
terminated by 描述字段的分隔符,暗许意况下是tab字符( )
enclosed by 描述的是字段的括起字符。
escaped by 描述的转义字符。私下认可的是反斜杠(backslash: )
字符集设置

load data infile '/var/lib/mysql-files/outfile1' replace into table tb1 character set utf8 fields terminated by '|' enclosed by '"' lines terminated by 'rn' ;
目录范围

mysqld 的secure_file_priv配置 ,用来界定LOAD_FILE()和LOAD DATA和SELECT … ,INTO OUTFILE报表到内定的目录。

导入导出一定是在设定的目录文件,不然会报错:EHighlanderROPRADO 1290 (HY000):The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

查看配置

SELECT @@secure_file_priv;

常用参数
-A, --all-databases
导出全数数据库
--add-drop-database
在创制数据库以前先DROP数据库
--add-drop-table
在创立表以前先drop表,默许true
--add-locks
在insert语句前加锁,暗许true
--compact
导出越来越少的出口新闻(用于调节和测验)。去掉注释和头尾等结构
-c, --complete-insert
运用完整的insert语句(富含列名称)。
-B, --databases
导出多少个数据库。参数前面所盛名字参量都被当做数据库名。导出文件中会有'USEdb_name;'
--default-character-set=name
设置私下认可字符集
-e, --extended-insert
动用全体四个VALUES列的INSERT语法。那样使导出文件越来越小,并加紧导入时的进度,私下认可true
**--ignore-table=name **
忽略钦点的表不导出
--insert-ignore
在插入行时使用insert ignore
-l, --lock-tables
初步导出前,锁定全部表
--dump-slave
将主库的binlog地点和文件名增加到导出数据的公文中,该参数在在从服务器上举行,约等于推行show slave status.当设置为1时,将会以CHANGE MASTEMurano命令输出到数据文件;设置为2时,会在change前加上注释。
--master-data[=#]
该选择将方今服务器的binlog的职分和文书名扩张到输出文件中(show master status)。借使为1,将会输出CHANGE MASTE奥迪Q5 命令;借使为2,输出的CHANGE MASTEHaval命令前加多注释新闻。
-n, --no-create-db
只导出多少,不加多create database语句,私下认可false
-t, --no-create-info
只导出多少,不增加create table语句,暗中同意false
-d, --no-data
不导出其余数据,只导出多少库表结构
-q, --quick
不缓冲查询,间接导出到标准输出。暗中同意true
**--replace **
插入数据时用replace
--set-gtid-purged[=name]
是还是不是加多SET@@GLOBAL.GTID_PURGED,默认auto
--single-transaction
使用一致性的快速照相来导出多少,不锁表,暗中同意false
--tables
蒙面--databases (-B)参数,钦定必要导出的表名
-w, --where=name
根据原则导出,只好导出单个表
-u -h -P -p
用户名,主机名,端口,密码

常用方法
1、导出全数库
mysqldump -uroot -p123 --single-transaction --all-databases >all.sql
该命令会导出富含系统数据库在内的享有数据库
2、导出单个库
mysqldump -uroot -p123 --single-transaction test > test.sql
3、导出七个数据库
mysqldump -uroot -p123 --single-transaction --databases db1 db2> db.sql
导出文件中会有'USE db1;USE db2'
4、导出单表
mysqldump -uroot -p123 --single-transaction test table_1 > table_1.sql
5、导出多表
mysqldump -uroot -p123 --single-transaction test --tables table_1 table_2> table.sql
6、只导表结构
mysqldump -uroot -p123 --single-transaction test -d > test_structure.sql
7、只导出多少
mysqldump -uroot -p123 --no-create-info --single-transaction --skip-add-locks --compact -c --set-gtid-purged=OFF test t2 >t2.sql
8、根据where条件导出
mysqldump -uroot -p123 --single-transaction test table_1 -w "id<1000000" > table_1.sql

写得没有错的:

出口文件中的各样字段用给定字符包裹。与--tab选项联合使用,不能够用来--databases和--all-databases选项

django migrate 冲突消除

冲突起因, makemigrations 记录sql的成形, migrate推行,两人搭档或一不留心,平常导致冲突。

  • 消除makemigrations对应冲突的本子
  • 增量修改表结构

2、导入数据库

只导出表结构

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

导入到远程服务器
动用管道命令,还足以将导出的多少直接导入到远程的服务器上,前提是服务器能够相互拜访。

mysqldump -u 顾客名 -p 数据库名 | mysql -h 远程服务器HOST 远程数据库名
SQL文件压缩备份&还原
mysqldump -u 客户名 -d -p 数据库名 | gzip > 文件名.sql.gz

gunzip < 文件名.sql.gz | mysql -u 用户名 -p 数据库
示例SQL

create database test;
use test;

create table tb1(
f1 int auto_increment,
f2 varchar(50),
primary key(f1)
)ENGINE= INNODB default charset = utf8;

insert into tb1 values(null, 'a');
insert into tb1 values(null, 'b');
insert into tb1 values(null, 'c');
insert into tb1 values(null, 'd');

create table tb2(
t1 int auto_increment,
t2 varchar(50),
primary key(t1)
)ENGINE= INNODB default charset = utf8;

insert into tb2 values(null, 'a');
insert into tb2 values(null, 'b');
insert into tb2 values(null, 'c');
insert into tb2 values(null, 'd');

select * from tb1;
select * from tb2;
mysqldump -uhomestead -p testdb > test_ddl.sql
mysqldump -uhomestead -p test tb1 > ~/Code/tmp/db1_ddl.sql
mysqldump -uhomestead -p test -d tb1 > ~/Code/tmp/db1_ddl.sql

mysqldump -uhomestead -d -p test | gzip > backup-file.sql.gz
gunzip < backup-file.sql.gz | mysql -uhomestead -p test
使用source 命令
能够在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 [密码] 数据库名 > 导出的公文名
导出表

不缓冲查询,直接导出到规范输出。默以为张开状态,使用--skip-quick撤消该选项。

包涵数据

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

2、只备份表结构
mysqldump -u 用户名 -p密码 -d 数据库名 > 数据库名.sql
#/usr/local/mysql/bin/   mysqldump -uroot -p -d abc > abc.sql

mysqldump  -uroot -p --all-databases --flush-privileges

不导出别样数据,只导出多少库表结构。

--host, -h

导出文件中不经意给定字段。与--tab选项联合使用,不能够用于--databases和--all-databases选项

该采取将产生主的binlog地方和文件名扩大到导出数据的文书中。设置为1时,将会以CHANGE MASTE猎豹CS6命令输出到数据文件;设置为2时,在命令前扩展表达新闻。该选项将会展开--lock-all-tables,除非--single-transaction被内定。该选项会自动关闭--lock-tables选项。暗中同意值为0。

--plugin_dir

mysqldump  -uroot -p --host=localhost --all-databases --tz-utc

--insert-ignore

mysqldump  -uroot -p --host=localhost --all-databases --skip-quote-names

mysqldump  -uroot -p --all-databases 

添加'SET NAMES  default_character_set'到输出文件。默感到张开状态,使用--skip-set-charset关闭选项。

mysqldump  -uroot -p --host=localhost --all-databases --skip-opt

mysqldump  -uroot -p --host=localhost --all-databases --net_buffer_length=1024

--opt

出口调节和测验信息并退出

--debug-check

mysqldump  -uroot -p --host=localhost --all-databases --insert-ignore

mysqldump  -uroot -p --host=localhost --all-databases

行使autocommit/commit 语句包裹表。

 系统命令行
 mysql -uusername -ppassword db1 < db1.sql;
 或mysql命令行
创办库、进入新建库、
mysql>source db1.sql;   (需求把 要还原的 数据放在 mysqldump 同一目录下)

mysqldump  -uroot -p --host=localhost --all-databases --master-data=2;

TCP/IP和socket连接的缓存大小。

服务器发送和承受的最大包长度。

mysqldump  -uroot -p --host=localhost --all-databases --where=” user=’root’”

顾客端插件私下认可使用权限。

mysqldump  -uroot -p --all-databases --flush-logs

使用REPLACE INTO 取代INSERT INTO.

 

出口文件中的各种字段用给定字符选拔性包裹。与--tab选项联合使用,不能够用来--databases和--all-databases选项

--single-transaction

mysqldump  -uroot -p --host=localhost --all-databases --opt

运用延时插入格局(INSERT DELAYED)导出数据

mysqldump  -uroot -p --host=localhost --all-databases

--add-drop-table

 

--fields-optionally-enclosed-by

动用的连天合同,包罗:tcp, socket, pipe, memory.

mysqldump  -uroot -p --all-databases --events

--extended-insert,  -e

1.导入数据库服务器上的txt文件

--password, -p

         

mysqldump按规范导出:

--xml, -X

   方法一:
(1)接纳数据库
mysql>use abc;
(2)设置数据库编码
mysql>set names utf8;
(3)导入数据(注意sql文件的门径)
mysql>source /home/abc/abc.sql;

--where, -w

输出三种阳台消息。

--port, -P

mysql -uroot -p1234 db1 < c:a.txt

master备份后去除日志. 那几个参数将活动激活--master-data。

--fields-enclosed-by

案例:

mysqldump  -uroot -p --host=localhost --all-databases --no-autocommit

只转储给定的WHERE条件接纳的笔录。请留神假如条件包蕴命令解释符专项使用空格或字符,一定要将
     条件援引起来。

 

外加警报和错误消息到给定文件

--user, -u

--master-data

--replace

 

种种数据表创造从前增加drop数据表语句。(默感到张开状态,使用--skip-add-drop-table撤消选项)

mysqldump -uroot -p1234 dbname a --where "tag='88'" --no-create-info> c:a.sql

     方法二:
mysql -u客户名 -p密码 数据库名 < 备份文件
#mysql -uabc_f -p abc < abc.sql

mysqldump  -uroot -p --host=localhost --all-databases --replace

--delete-master-logs

输出debug信息,用于调节和测验。暗中认可值为:d:t:o,/tmp/mysqldump.trace

mysqldump  -uroot -p --all-databases --delayed-insert

--dump-date

连日数据库密码

       mysqldump 是 MySQL 用于备份数据库的实用程序。它根本产生二个 SQL 脚本文件,此中富含从头重新成立数据库所供给的一声令下CREATE TABLE INSERT 等。

mysqldump  -uroot -p --host=localhost --all-databases --include-master-host-port

mysqldump  -uroot -p --all-databases --debug

本文由1010cc时时彩标准版发布于1010cc三分网站,转载请注明出处:【1010cc时时彩标准版】mysql导入导出命令解析,数

关键词:

上一篇:【1010cc时时彩标准版】2008从入门到精通,从SQL语

下一篇:没有了