MySQL导入导出

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: MySQL的导入导出   1       导出 1.1     导出脚本和数据        MySQL的导出是利用MySQL安装目录的bin目录下的mysqldump指令来进行的,该命令需要在Windows的cmd命令窗口执行。

MySQL的导入导出

 

1       导出

1.1     导出脚本和数据

       MySQL的导出是利用MySQL安装目录的bin目录下的mysqldump指令来进行的,该命令需要在Windowscmd命令窗口执行。语法如下:

       mysqldump –uusername –ppassword database_name > export_path

 

       如:

       mysqldump –uroot –p123 test > D:\\test.sql

如果需要指定导出文件的编码则可以通过参数--default-character-set来指定,如:

 

 mysqldump –uroot –p123 test > D:\\test.sql --default-character-set=utf8

 

 

1.2     只导出脚本

       上述脚本会连目标库里面的数据一起导出来,但有时候我们可能并不需要导出其中的数据,这个时候我们可以加上参数--no-data。(注意no前面是有两个横杠的)。如:

       mysqldump --no-data -uroot -p123 test > D:\\test.sql

 

      

1.3     远程导出

       有时候我们可能想导出的数据库不是本地的,这个时候我们可以加上参数-h来指定要导出的数据库所在的主机,以及在使用非默认端口(3306)时通过参数-P(大写)指定对应的端口。如:

       mysqldump -uroot -p123 -h10.10.10.3 -P3306 test > D:\\test.sql

 

 

       需要注意的是MySQL默认只允许访问本机的数据库,如果需要访问远程的MySQL,那么远程的MySQL应当开放指定IP访问的权限。如:

       grant all privileges on *.* to ‘root’@’10.10.10.3’ identified by ‘123’ with grant option;

 

       也可以把IP换成百分号“%”,表示所有的IP都允许访问,如:

       grant all privileges on *.* to ‘root’@’%’ identified by ‘123’ with grant option;

 

       也可以使用如下形式,表示只允许IP以“10.10.10”开始的进行访问,如:

       grant all privileges on *.* to ‘root’@’10.10.10.%’ identified by ‘123’ with grant option;

 

      

       grant指令是需要在MySQL命令窗口执行的,其标准语法如下所示:

       grant [privilege1,privilege2] on database_name.table_name to ‘username’@’client_host’ identified by ‘password’ [with grant option];

 

       其表示将某个数据库的某个表的某权限赋予给来自某客户端的某用户,“all privileges”表示将授予所有的权限,“with grant option”表示其是否可以将自身的权限授予他人。如果我们只想授予某用户对某表的select权限,则可以使用如下语句:

       grant select on database_name.* to ‘username’@’client_host’ identified by ‘password’;

 

1.4     导出查询结果

       如:

select * from user into outfile 'D:\out.sql'

        如果需要导入这个导出结果,则使用:

load data local infile 'D:\out.sql' into table user;

 

 

2       导入

       导入是在登录以后,在MySQL的命令窗口使用source指令来进行的,语法如下:

       source import_path

 

       如:

       source D:\\test.sql

 如果需要指定导入的编码则可以通过参数--default-character-set来指定。

 

       此外需要注意的是导入必须指定将要导入的数据库,也就是说在执行source导入之前,必须通过use database_name切换到要导入的数据库。

 

2.1     导入远程数据库

       本地导入的话我们可以直接打开MySQL的命令窗口登录数据库进行导入,当然也可以在Windowscmd命令窗口通过mysql指令来登录到MySQLmysql指令也是在MySQL安装目录下的bin目录下,其语法如下:

       mysql -uusername -ppassword

 

       如:

       mysql -uroot -p123

 

       但如果需要导入到远程数据库的话,那么首先我们应当登录到远程数据库,登录到远程数据库的语法是使用mysql指令,但是通过-h参数来指定要登录的远程主机,通过-P(大写)来指定对应的端口。如:

       mysql -uroot -p123 -h10.10.10.3 -P3306

 

       之后我们就可以像上面那样进行导入了。

       需要注意的是远程导入时,也需要有通过本地客户端的mysql指令登录远程数据库的权限,也就是说也需要像导出那样使用grant指令授予对应的权限。

 

相关实践学习
如何在云端创建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数据互相迁移 导入导出
78 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)
303 7
|
7月前
|
前端开发 easyexcel 关系型数据库
EasyExcel处理Mysql百万数据的导入导出案例,秒级效率,拿来即用!
【5月更文挑战第11天】EasyExcel处理Mysql百万数据的导入导出案例,秒级效率,拿来即用!
295 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任务来处理每个区块。
1206 0
|
SQL 分布式计算 DataWorks
《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB MySQL版解析与实践(下)——二、数据导入导出与同步链路搭建(上)
《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB MySQL版解析与实践(下)——二、数据导入导出与同步链路搭建(上)
|
SQL 存储 分布式计算
《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB MySQL版解析与实践(下)——二、数据导入导出与同步链路搭建(下)
《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB MySQL版解析与实践(下)——二、数据导入导出与同步链路搭建(下)
|
关系型数据库 MySQL 测试技术
MySql 利用mysql&mysqldum导入导出数据
MySql 利用mysql&mysqldum导入导出数据
124 0
下一篇
DataWorks