学习啦>学习电脑>操作系统>Linux教程>

linux下mysql导出数据表命令

佳洲分享

  Linux下有时候只想要导出mysql的数据表要使用什么命令呢?下面由学习啦小编为大家整理了linux下mysql导出数据表命令的相关知识,希望对大家有帮助!

  linux的mysql导出数据表命令详解

  1、导出

  a、使用默认的路径

  使用命令 select * from 数据表名 into outfile '文本名.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···)注意,字段名的排序应与导出的指定的字段名排序一致

  补充资料:linux下mysql导出数据表时路径错误和解决方法

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

  [sql] view plain copymysql> 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/)存放,因为自定义目录貌似还是行不通。。

  [sql] view plain copyjesse@jesse-desktop:/var/log/mysql$

    3630042