百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> MySQL命令导入导出数据表记录的方法(select load data)
分享文章到:

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

发布时间:01/15 来源: 浏览: 关键词:
MySQL命令导入导出数据表记录的方法可以使用到into outfile命令来直接执行了,下面小编就为各位来分析一下这些例子哦

 

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$

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有14人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板