MySQL命令导入导出数据表记录的方法(select load data)

 

MySQL数据库导入导出命令比较常见的的是使用mysqldump source这两个命令。本篇文章分享一种不一样的,更快捷方便的导入导出数据的方法。

(1)导出数据

a、使用默认的路径

select * from 数据表名 into outfile '文本名.txt';
示例:

/*将phpernote表中的数据导出并保存到C盘目录,另存为phpernote.txt文件*/

select * from phpernote into outfile 'c:\phpernote.txt';

b、指定存放的路径

select * from 数据表名 into outfile 'd:\文本名.txt';
c、导出数据表指定的字段

select 字段名1,字段名2··· from 数据表名 into outfile '文本名.txt';
(2)导入数据

a、记录包含数据表所有字段

load data infile '文本名.txt的路径' into table 数据表名; 导入记录包含所有字段

b、记录包含数据表指定字段

load data infile '文本名.txt' into table 数据表名(字段名1,字段名2···)

注意:字段名的排序应与导出的指定的字段名排序一致

自定义存放的路径时可能会遇到以下错误:

mysql> select * from patent into outfile '/home/a';
ERROR 1 (HY000): Can't create/write to file '/home/a' (Errcode: 13)

再引用个解决方案:

很明显,这是由于权限问题导致的,最主要的问题是搞清楚权限是如何设置的。
Ubuntu 使用 AppArmor 作为程序权限限制, Fedora 使用 selinux 作为程序权限限制.在linux中,以往的权限管理,是通过用户绑定的,现在还有一种权限机制,设置程序的访问权限,如:
sudo mysqldump --T db;如果不起动程序权限管理,mysqldump获得root权限,可以在任何文件中进行操作。
sudo mysqldump -T db;如果ubuntu中启用apparmor,即使是root权限,他也会根据程序的访问权限进行限定。

所以我们可以将需要访问的目录添加到AppArmor的配置文件中:

sudo gedit /etc/apparmor.d/usr.sbin.mysqld
添加下面内容

/data/* rw,
然后,sudo /etc/init.d/apparmor restart

我是直接在usr.sbin.mysqld找个有权限w的目录(/var/log/mysql/)存放,因为自定义目录貌似还是行不通。。
jesse@jesse-desktop:/var/log/mysql$

时间: 2024-12-23 18:48:41

MySQL命令导入导出数据表记录的方法(select load data)的相关文章

php mysql数据的导入导出,数据表结构的导入导出

实现数据的导入导出,数据表结构的导入导出 ********************************************************/         //         //包含Mysql数据库操作文件         //         require_once("MysqlDB.php");          /******************************************************* **类    名:MysqlDB

mysql中常用命令导入导出数据命令(mysqldump,source)

今天想导出部分数据找了半天终于找到对应的几个方法 首先看下字符集,省的导出的时候是乱码 1.用命令  代码如下 复制代码 mysql> SHOW VARIABLES LIKE "character_set%"; 根据对应的字符集value决定采用导出字符latin1 还是utf8 2.采用 –where的方式导出  代码如下 复制代码 mysqldump -uroot -p123456 --default-character-set=latin1  i5a6  i5a6_data

mysql导入导出数据中文乱码解决方法小结_Mysql

linux系统中 linux默认的是utf8编码,而windows是gbk编码,所以会出现上面的乱码问题. 解决mysql导入导出数据乱码问题 首先要做的是要确定你导出数据的编码格式,使用mysqldump的时候需要加上--default-character-set=utf8, 例如下面的代码: 复制代码 代码如下: mysqldump -uroot -p --default-character-set=utf8 dbname tablename > bak.sql 那么导入数据的时候也要使用-

mysql导入导出数据中文乱码解决方法总结

linux系统中 linux默认的是utf8编码,而windows是gbk编码,所以会出现上面的乱码问题. 解决mysql导入导出数据乱码问题 首先要做的是要确定你导出数据的编码格式,使用mysqldump的时候需要加上--default-character-set=utf8, 例如下面的代码:  代码如下 复制代码 mysqldump   -uroot  -p  --default-character-set=utf8   dbname tablename  >  bak.sql 那么导入数据

mysql常用导入导出数据的命令

1.导入导出 mysql常用导入数据的命令: 1.mysql命令  代码如下 复制代码    mysql -hhostname -uusername - ppassword databasename < backupfile.sql 2.source命令  代码如下 复制代码    mysql>source backupfile.sql 具体方法 1.mysql导出整个数据库  代码如下 复制代码 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -

用Mysql命令导入sql数据备份的方法

下面是在命令行下导入sql数据的方法,需要的朋友可以参考下. 我的个人实践是:phpmyadmin 导出 utf-8 的 insert 模式的 abc.sql ftp abc.sql 到服务器 ssh 到服务器 mysql -u abc -p use KKK(数据库名,如果没有就 create database KKK) set names 'utf8' source abc.sql 注意:我看到 set character set utf8; 的说法,那样不行,中文乱码. 1.首先在命令行控制

【转】使用Navicat 8.0管理mysql数据库(导入导出数据)

首先我们来导出数据: 1)打开Navicat 8,选择你要导出的数据库,右键 > 转存SQL文件,如图: 至此,已完成了数据的导出操作. 2)使用Navicat 8来导入数据 A,先创建好数据库,这时数据库是空的,接下来我们进行数据导入: 选择需要导入数据的数据库名,右键 > 运行批次任务文件 选择刚才我们导出的SQL文件, 好,下面我们点开始, 待执行完后,就完成数据导入了

mysql中导入/导出超大的sql文本文件方法总结

在实际工作中,有时经常地时行mysql数据库的导入和导入操作,但对于大型sql文件导入时,phpmyadmin是不行的,有太多限制,比如记录,内存等! 多种方案收集,如下: 方案一:客户端直接命令操作(此方法是我比较喜欢的) 刚恢复一个电商网站mysql备份数据,此备份文件有300多M,因为phpmyadmin支持上传有限,文件太大IE停止响应,所以在本地用  代码如下 复制代码 mysql -u root -p root jiahuibuydb< c:/yebihai.sql 但没导入进去,出

Mysql 导入.sql数据实现几种方法

mysql教程 导入.sql数据实现几种方法 方法如下: 1. 先用jive用户连接: e:mysqlbin>mysql -u jive -p jive 2. 再运行如下命令: mysql> . f:workingfolderjivejdondatabasejive_mysql.sql   我的个人实践是:php教程myadmin 导出 utf-8 的 insert 模式的 abc.sql ftp abc.sql 到服务器 ssh 到服务器 mysql -u abc -p use kkk(数据