Mysql导入导出

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

1.导入数据库

1)source

source /home/platvt/product/pc2_create_tables.sql

2)mysqlimport

使用mysqlimport导入数据:

出现情况:

(1)出现 Error: 1146

[platvt@qa-qd-62-180 tmp]$ mysqlimport -uroot -p  --fields-terminated-by='\t' test students 
Enter password: 
mysqlimport: Error: 1146,  Table  'test.students' doesn't exist,  when using  table: students
在导入之前必须数据库里面有对应的表,所以必须先在数据库里面把表建立起来之后才能导入。

(2)出现  Error: 29

[platvt@qa-qd-62-180 tmp]$ mysqlimport -uroot -p  --fields-terminated-by='\t' test students 
Enter password: 
mysqlimport: Error: 29,  File  '/data/mysqldata/mydata/test/students'  not found (Errcode: 2),  when using  table: students
如果不指定绝对路径,在导入文件必须放到数据目录下面,否则必须指定绝对路径才能导入。通过 ps -ef | grep mysql可以查看到mysql的数据目录的位置: --datadir=/data/mysqldata/mydata
[platvt@qa-qd-62-180 tmp]$ ps -ef | grep mysql
root            7068         1    0 Jul10 ?                00:00:00 /bin/sh ./mysqld_safe
mysql         7324    7068    0 Jul10 ?                00:34:59 /usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql  --datadir=/data/mysqldata/mydata --user=mysql --log-error=/usr/local/mysql/log/error.log --open-files-limit=8192 --pid-file=/usr/local/mysql/sock/mysql.pid --socket=/usr/local/mysql/sock/mysql.sock --port=3306

(3)出现  Error: 13

[platvt@qa-qd-62-180 tmp]$ mysqlimport -uroot -p  --fields-terminated-by='\t' test /home/platvt/tmp/students 
Enter password: 
mysqlimport: Error: 13, Can 't get stat of '/home/platvt/tmp/students' (Errcode: 13),  when using  table: students
先检查文件的权限,需要有读取数据的权限; 导入时加入--local选项
[platvt@qa-qd-62-180 tmp]$ mysqlimport -uroot -p  --fields-terminated-by='\t' --local test /home/platvt/tmp/students 
Enter password: 
test.students: Records: 5    Deleted: 0    Skipped: 1    Warnings: 0

2、导出数据库

1)导出语法

mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
C:\Documents  and Settings\keju.wangkj>mysqldump -h ip -unapoli_ccbu_test -p1qaz@2wsx  napoli_ccbu_test  --skip-l
ock-tables
 > D:\documents\stanley\ccbu_napoli_test.sql

2)导出某用户下面的所有数据库:

>mysqldump -hip -uoffer -poffer  --all-database    --skip-lock-tables > D:\documents\stanley\cobar_all.sql

3)导出一个表

  mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
  mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql

4)导出一个数据库结构:-d

  mysqldump -u wcnc -p  -d --add-drop-table smgp_apps_wcnc >d:wcnc_db.sql
  -d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table
mysqldump -h ip -ustanley -pstanley stanley  -d  --add-drop-table> pc2_create_tables.sql

 

 
  1. mysqldump -unormandy -p*** -h10.20.36.26 normandy_dev --skip-lock-tables --add-drop-table -d > 10.20.36.26_normandy_dev.sql 

3、导入导出实战

    需求:

1、导出的表和导入的表结构相同
2、导入的表里面存在数据,且有字增长的字段
解决方案:
 建立临时表: create table tmp as select 列 from table;
 只导出数据,不导出表结构: mysqldum -t


4、到处成excel表格

方法1:命令行导出
C:\> mysql -h172.29.63.17 -unapoli -p*** -e "select   *   from   napoli.queues"   >   D:\documents\projects\napoli\queues_17.xls
mysql -h172.29.63.17 -unapoli -p*** -e "select   *   from   napoli.machines"   >   D:\documents\projects\napoli\machines_17.xls
mysql -h172.29.63.17 -unapoli -p*** -e "select   *   from   napoli.physical_queue"   >   D:\documents\projects\napoli\physical_queue_17.xls
mysql -h172.29.63.17 -unapoli -p*** -e "select   *   from   napoli.queue_details"   >   D:\documents\projects\napoli\queue_details_17.xls
mysql -h172.29.63.17 -unapoli -p*** -e "select   *   from   napoli.virtual_topics"   >   D:\documents\projects\napoli\virtual_topics_17.xls
mysql -h172.29.63.17 -unapoli -p*** -e "select   *   from   napoli.vtopic_queue"   >   D:\documents\projects\napoli\vtopic_queue_17.xls
 
方法2:使用工具

【注意】
1、只导出一个某用户下面的一个数据库(一个用户下面可能存在多个数据库)
mysqldump -h10.20.*.* -unapoli_itu_test -pnapoli_itu_test napoli  --skip-lock-tables > /home/leonardo/product/napoli_create_tables_with_data.sql
2、参看淘宝DBA的mysql导入导出:  http://www.taobaodba.com/html/558_loaddata.html

 


本文转自 tianya23 51CTO博客,原文链接:http://blog.51cto.com/tianya23/316023,如需转载请自行联系原作者

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
SQL 分布式计算 关系型数据库
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
60 3
|
7月前
|
SQL 关系型数据库 MySQL
Sqoop【付诸实践 01】Sqoop1最新版 MySQL与HDFS\Hive\HBase 核心导入导出案例分享+多个WRAN及Exception问题处理(一篇即可学会在日常工作中使用Sqoop)
【2月更文挑战第9天】Sqoop【付诸实践 01】Sqoop1最新版 MySQL与HDFS\Hive\HBase 核心导入导出案例分享+多个WRAN及Exception问题处理(一篇即可学会在日常工作中使用Sqoop)
271 7
|
7月前
|
前端开发 easyexcel 关系型数据库
EasyExcel处理Mysql百万数据的导入导出案例,秒级效率,拿来即用!
【5月更文挑战第11天】EasyExcel处理Mysql百万数据的导入导出案例,秒级效率,拿来即用!
280 1
|
7月前
|
SQL 关系型数据库 MySQL
MySQL决战:MySQL数据导入导出
MySQL决战:MySQL数据导入导出
|
7月前
|
SQL 存储 关系型数据库
|
SQL 关系型数据库 MySQL
深入解析MySQL视图、索引、数据导入导出:优化查询和提高效率
索引是一种特殊的数据库结构,由数据表中的一列或多列组合而成,可以用来快速查询数据表中有某一特定值的记录。通过索引,查询数据时不用读完记录的所有信息,而只是查询索引列。否则,数据库系统将读取每条记录的所有信息进行匹配。索引可以根据一个或多个列的值进行排序和搜索,提高查询时的效率。MySQL索引(Index)是一种特殊的数据结构,建立在表的列上,旨在加快数据库查询的速度通过在索引列上创建索引,数据库可以更快地定位和访问特定值,而无需扫描整个数据表。索引可以应用于单个列或多个列的组合,可以按升序或。
|
SQL 分布式计算 Oracle
sqoop用法之mysql与hive数据导入导出
Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如:MySQL、Oracle、Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。对于某些NoSQL数据库它也提供了连接器。Sqoop,类似于其他ETL工具,使用元数据模型来判断数据类型并在数据从数据源转移到Hadoop时确保类型安全的数据处理。Sqoop专为大数据批量传输设计,能够分割数据集并创建Hadoop任务来处理每个区块。
1164 0
|
SQL 分布式计算 DataWorks
《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB MySQL版解析与实践(下)——二、数据导入导出与同步链路搭建(上)
《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB MySQL版解析与实践(下)——二、数据导入导出与同步链路搭建(上)
|
SQL 存储 分布式计算
《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB MySQL版解析与实践(下)——二、数据导入导出与同步链路搭建(下)
《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB MySQL版解析与实践(下)——二、数据导入导出与同步链路搭建(下)
|
关系型数据库 MySQL 测试技术
MySql 利用mysql&mysqldum导入导出数据
MySql 利用mysql&mysqldum导入导出数据
120 0