【MySQL】mysql数据导出


在项目中,遇到需要把MySQL数据导出到本地时,可以通过以下两种方法实现。
本博客使用的MySQL是5.1.73版本。

使用 SELECT … INTO OUTFILE 语句导出数据

select * from tb_words into outfile '/home/fuyun/datas/words.txt' fields terminated by ',' enclosed by '"' lines terminated by '\n';

参数说明:

  • fields terminated by:字段分隔符
  • enclosed by:字段被包围符
  • lines terminated by:行分隔符

mysql语句执行情况:

mysql> select * from tb_words;
+----+-----------+
| id | word      |
+----+-----------+
|  1 | hadoop    |
|  2 | spark     |
|  3 | hadoop    |
|  4 | spark     |
|  5 | hadoop    |
|  6 | mapreduce |
+----+-----------+
6 rows in set (0.00 sec)

导出文件

[fuyun@bigdata-training /]$ cat /temp/words.txt 
"1","hadoop"
"2","spark"
"3","hadoop"
"4","spark"
"5","hadoop"
"6","mapreduce"

注意以下几点:

  • 输出的目录必须要有写的权限
  • 输出的文件不能先创建
  • 你的secure_file_priv变量不能为NULL,可以设置为指定路径,或者为空字符串

通过mysqldump命令导出数据和备份SQL

mysqldump -u root -p --tab=/temp/ test tb_words

--tab:指定输出的文件夹,输出的结果文件会有两个,分别是table_name.sql和table_name.txt,前者存储的是表的SQL语句,后者存储的是表的数据

[fuyun@bigdata-training /]$ cat /temp/tb_words.sql 
-- MySQL dump 10.13  Distrib 5.1.73, for redhat-linux-gnu (x86_64)
--
-- Host: localhost    Database: test
-- ------------------------------------------------------
-- Server version	5.1.73

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Table structure for table `tb_words`
--

DROP TABLE IF EXISTS `tb_words`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `tb_words` (
  `id` int(11) NOT NULL,
  `word` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;

/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2021-03-22  4:30:53
[fuyun@bigdata-training /]$ cat /temp/tb_words.txt 
1	hadoop
2	spark
3	hadoop
4	spark
5	hadoop
6	mapreduce

整库导出,只会导出sql语句

mysqldump -u root -p test > /temp/database_dump.sql

备份所有库数据,只会导出sql语句

mysqldump -u root -p --all-databases > all_databases_dump.sql

将指定主机的数据库拷贝到本地

如果你需要将远程服务器的数据拷贝到本地,你也可以在 mysqldump 命令中指定远程服务器的IP、端口及数据库名。
在源主机上执行以下命令,将数据备份到 dump.txt 文件中:
请确保两台服务器是相通的

mysqldump -h other-host -P port -u root -p database_name > dump.txt
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值