mysqldump database table

一)在同一个数据库服务器上面进行数据表间的数据导入导出:

1. 如果表tb1和tb2的结构是完全一样的,则使用以下的命令就可以将表tb1中的数据导入到表tb2中:

insert into db2.tb2 select * from  db1.tb1

2. 如果表tb1和tb2只有部分字段是相同的,要实现将tb1中的部分字段导入到tb2中相对应的相同字段中,则使用以下命令:

insert into db2.tb2(字段1,字段2,字段3……) select  字段1‘,字段2’,字段3‘,……  from db1.tb1;

二)但是要实现将远程数据库中数据表tb1的数据导入到本地数据库数据表tb2中,并没有太好的方法像以上例子所示的在本地直接使用SQL语句就能搞定。这时就要使用到数据库(表)的导出,导入。即将远程的数据库(表)导出到本地文件中,然后再将该数据库(表)导入(还原)到本地数据库中。这些方法多应用于数据库的备份和还原中

1.远程数据库(表)导出到本地数据库(表)文件

(1)导出数据库

mysqldump -h192.168.1.1 -uroot -p123456 --databases mydb > mydb.bak;      //将192.168.1.1主机上的mydb数据库导出到本地的mydb.bak文件中

(mysqldump  -uroot -p123456 --databases mydb1 > mydb1.bak;                        //将本地mysql服务器上的mydb1数据库导出到本地的mydb1.bak文件中)

(2)导出数据表

mysqldump -h192.168.1.1 -uroot -p123456 mydb tb1 > tb1.bak;                       //将192.168.1.1主机上的mydb数据库的tb1数据表导出到本地的tb1.bak文件中

(mysqldump  -uroot -p123456 mydb1 tb2 > tb2.bak;                                      //将本地主机上的mydb1数据库的tb2数据表导出到本地的tb2.bak文件中)

2. 导入数据库(表)

(1)导入数据库

在本地数据库中创建相对应导出的数据库mydb同名的数据库:

mysql> create database mydb;

然后退出数据库,再使用以下的 命令导入数据库文件mydb.bak到本地数据库mydb中:

mysql -uroot -p123456 mydb < /root/data/mydb.bak;

或者进入mysql中,使用sourc指令完成数据库导入,如下:

mysql> source  /root/data/mydb.bak;                                          // /root/data/mydb.bak是远程数据库mydb导出文件的本地存放位置

(2)导入数据表

在本地数据库中创建相对应导出的数据库mydb同名的数据库:

mysql> create database mydb;

然后在mysql中使用source指令来完成数据表的导入,如下:

mysql> source /root/data/tb1.bak;                                               // /root/data/tb1.bak是远程数据表tb1导出文件的本地存放位置

三) 导出表记录到文件

mysql -hxxx.xxx.xxx.xxx -uroot -pxxxxxx -D WHOIS -e "select domain from domainInfo where queryFlag = ‘2‘ or queryFlag = ‘3‘" >  /data/dump/overdue

注意:在数据库(表)的导入、导出过程中,视数据库(表)的大小,需要一定的时间开销,请耐性等候……

命令行下具体用法如下:  mysqldump -u用戶名 -p密码 -d 數據库名 表名 脚本名;

1、导出數據库為dbname的表结构(其中用戶名為root,密码為dbpasswd,生成的脚本名為db.sql)
    mysqldump -uroot -pdbpasswd -d dbname >db.sql;

2、导出數據库為dbname某张表(test)结构
    mysqldump -uroot -pdbpasswd -d dbname test>db.sql;

3、导出數據库為dbname所有表结构及表數據(不加-d)
    mysqldump -uroot -pdbpasswd  dbname >db.sql;

4、导出數據库為dbname某张表(test)结构及表數據(不加-d)
    mysqldump -uroot -pdbpasswd dbname test>db.sql;

时间: 2024-08-07 12:56:04

mysqldump database table的相关文章

CMD Create Database &amp; Table

Just do it: /* SQL 创建库 CREATE DATABASE jsp_demo DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; SQL 创建表 CREATE TABLE `news` ( `iId` SMALLINT(6) NOT NULL AUTO_INCREMENT, `iCategory` TINYINT(4) NOT NULL, `sTitle` VARCHAR(100) NOT NULL, `sDesc` VARC

[Hive - LanguageManual] Create/Drop/Alter Database Create/Drop/Truncate Table

Hive Data Definition Language Hive Data Definition Language Overview Create/Drop/Alter Database Create/Drop/Truncate Table Alter Table/Partition/Column Create/Drop/Alter View Create/Drop/Alter Index Create/Drop Function Create/Drop/Grant/Revoke Roles

Redshift中查看database、schema、table数据大小

1. 查看当前数据库大小以及记录行数 select trim(pgdb.datname) as database, sum(b.mbytes) as mbytes, sum(a.rows) as rows from (select db_id, id, name, sum(rows) as rows from stv_tbl_perm a group by db_id, id, name) as a join pg_class as pgc on pgc.oid = a.id join pg_n

MySQL线程处于Waiting for table flush的分析

  最近遇到一个案例,很多查询被阻塞没有返回结果,使用show processlist查看,发现不少MySQL线程处于Waiting for table flush状态,查询语句一直被阻塞,只能通过Kill进程来解决.那么我们先来看看Waiting for table flush的官方解释:https://dev.mysql.com/doc/refman/5.6/en/general-thread-states.html Waiting for table flush   The thread

mysqldump 参数

我 mysqldump  Ver 10.13 Distrib 5.5.32, for Linux (x86_64) Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of thei

mysqldump备份大数据出错

mysqldump备份大数据出错技术 maybe yes 发表于2015-01-26 22:58 原文链接 : http://blog.lmlphp.com/archives/72  来自 : LMLPHP后院 网 站的数据会定期备份,现在数据大了,mysqldump 方法估计是不行了,并且失败了以后并不能接着上次的位置开始备份.报错内容:mysqldump: Error 2013: Lost connection to MySQL server during query when dumpin

mysqldump 导出CSV文件

mysqldump -h 127.0.0.1 -u root -p database table -t -T /home/mysql/ --fields-enclosed-by=\" --fields-terminated-by=, -w 增加条件判断语句 老外的一个处理mysql异常的错误,明天整理一下 http://icesquare.com/wordpress/mysql-starting-mysql-error-the-server-quit-without-updating-pid-f

MYSQLDUMP参数详解

mysqldump客户端可用来转储数据库或搜集数据库进行备份或将数据转移到另一个SQL服务器(不一定是一个MySQL服务器).转储包含创建表和/或装载表的SQL语句. 如果你在服务器上进行备份,并且表均为MyISAM表,应考虑使用mysqlhotcopy,因为可以更快地进行备份和恢复. 有3种方式来调用mysqldump: shell> mysqldump [options] db_name [tables] shell> mysqldump [options] ---database DB1

使用mysqldump对数据库备份

mysqldump是一个简单而有效的数据库备份程 序,它会将需要备份的数据库的结构转换为mysql语言组成的一个文本文件,这个文本文件包含了创建这个数据库所进行的所有mysql语句,所以当我们恢 复时,便是程序读取这些语句重新创建数据库.创建表以及插入数据的过程,但因为其是单线程的,所以对于比较大的数据库操作会比较慢. mysqldump支持InnoDB热备,MyISAM的温备,可以基于二进制日志进行增量备份,根据二进制文件文件中记录的操作点进行有选择的恢复. mysqldump命令介绍 语法: