mysql数据导入和导出,备份和迁移

数据导入导出还是比较常见的,

一、常规数据导入导出

一般如果数据不大,直接操作 *.sql 文件即可。

1、数据导出

## 导出整个数据库结构和数据
# mysqldump -h localhost -P 3306 -uroot -p123456 database > test.sql

## 导出单个数据表结构和数据
# mysqldump -h localhost -P 3306 -uroot -p123456  database table > test.sql

## 导出整个数据库结构(不包含数据)
# mysqldump -h localhost -P 3306 -uroot -p123456  -d database > test.sql

## 导出单个数据表结构(不包含数据)
# mysqldump -h localhost -P 3306 -uroot -p123456  -d database table > test.sql


## 说明:
## 如果是本机操作,其中 -h localhost -P 3306 可以不需要
## -P 参数,是大P,且有空格;不同于后面密码的小p,没有空格

 

2、数据导入

常见有两种方法(还有其他方法,这里不介绍),命令如下:

法1:

## mysql -u用户名 -p密码 < 要导入的数据库数据(test.sql)
# mysql -uroot -p123456 < test.sql

## 恢复到指定数据库
# mysql -hhostname -uusername -ppassword databasename < test.sql

法2:

或者进入到mysql命令行,用source命令操作

## 使用source导入sql文件
mysql > use test_databasename;
mysql > source /data/test.sql;

但是,更多的时候,数据比较大,需要压缩导入导出。

 

 

二、数据压缩导入导出

1、数据导出

介绍下另一种导出方式mysqldump:

## 导出数据库
# mysqldump –uuser -ppassword -hhost test_databasename > test.sql

## 打包
# tar zcvf test.sql.tgz test.sql


## 当然,也可以一步到位
## mysqldump < mysqldump options> | gzip > outputfile.sql.gz
# mysqldump -uroot -p123456 test_databasename | gzip > test.sql.gz

## 注意:不支持gzip压缩格式,其他主流的压缩格式都支持,如:zip等

导出的压缩包解压,一般会有 3种类型的文件

database-schema-create.sql.gz # 数据库结构文件

database.table-schema.sql.gz # 数据表的表结构文件

database.table.sql.gz # 数据表中的数据

 

2、数据导入

1、数据库结构导入:

##gunzip < database-schema-create.sql.gz | mysql -uusername -ppassword

# gunzip < database-schema-create.sql.gz | mysql -uroot -p123456

2、数据表结构导入:

需要指定数据库的名称,即下面命令的最后一个参数:

##gunzip < database.table-schema.sql.gz | mysql -uusername -ppassword databasename

# gunzip < database.table-schema.sql.gz | mysql -uroot -p123456 test

3、数据导入:

也需要指定数据库的名称,格式同上,命令如下:

##gunzip < database.table.sql.gz | mysql -uusername -ppassword databasename

# gunzip < database.table.sql.gz | mysql -uroot -p123456 test

 

当然,还有其他很多方法导入导出数据结构及数据,本文只介绍了常用的,简单方法,一般使用,足够了。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章