學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 > linux下mysql導(dǎo)出數(shù)據(jù)表命令

linux下mysql導(dǎo)出數(shù)據(jù)表命令

時(shí)間: 佳洲1085 分享

linux下mysql導(dǎo)出數(shù)據(jù)表命令

  Linux下有時(shí)候只想要導(dǎo)出mysql的數(shù)據(jù)表要使用什么命令呢?下面由學(xué)習(xí)啦小編為大家整理了linux下mysql導(dǎo)出數(shù)據(jù)表命令的相關(guān)知識(shí),希望對(duì)大家有幫助!

  linux的mysql導(dǎo)出數(shù)據(jù)表命令詳解

  1、導(dǎo)出

  a、使用默認(rèn)的路徑

  使用命令 select * from 數(shù)據(jù)表名 into outfile '文本名.txt';

  b、指定存放的路徑

  使用命令 select * from 數(shù)據(jù)表名 into outfile 'd:\文本名.txt';

  c、導(dǎo)出數(shù)據(jù)表指定的字段

  使用命令 select 字段名1,字段名2··· from 數(shù)據(jù)表名 into outfile '文本名.txt';

  2、導(dǎo)入

  a、記錄包含數(shù)據(jù)表所有字段

  使用命令 load data infile '文本名.txt的路徑' into table 數(shù)據(jù)表名; 導(dǎo)入記錄包含所有字段

  b、記錄包含數(shù)據(jù)表指定阻斷

  使用命令 load data infile '文本名.txt' into table 數(shù)據(jù)表名(字段名1,字段名2···)注意,字段名的排序應(yīng)與導(dǎo)出的指定的字段名排序一致

  補(bǔ)充資料:linux下mysql導(dǎo)出數(shù)據(jù)表時(shí)路徑錯(cuò)誤和解決方法

  自定義存放的路徑時(shí)可能會(huì)遇到以下錯(cuò)誤:

  [sql] view plain copymysql> select * from patent into outfile '/home/a';

  ERROR 1 (HY000): Can't create/write to file '/home/a' (Errcode: 13)

  再引用個(gè)解決方案:

  很明顯,這是由于權(quán)限問題導(dǎo)致的,最主要的問題是搞清楚權(quán)限是如何設(shè)置的。

  Ubuntu 使用 AppArmor 作為程序權(quán)限限制, Fedora 使用 selinux 作為程序權(quán)限限制.在Linux中,以往的權(quán)限管理,是通過用戶綁定的,現(xiàn)在還有一種權(quán)限機(jī)制,設(shè)置程序的訪問權(quán)限,如:

  sudo mysqldump --T db;如果不起動(dòng)程序權(quán)限管理,mysqldump獲得root權(quán)限,可以在任何文件中進(jìn)行操作。

  sudo mysqldump -T db;如果ubuntu中啟用apparmor,即使是root權(quán)限,他也會(huì)根據(jù)程序的訪問權(quán)限進(jìn)行限定。

  所以我們可以將需要訪問的目錄添加到AppArmor的配置文件中:

  sudo gedit /etc/apparmor.d/usr.sbin.mysqld

  添加下面內(nèi)容

  /data/* rw,

  然后,sudo /etc/init.d/apparmor restart

  我是直接在usr.sbin.mysqld找個(gè)有權(quán)限w的目錄(/var/log/mysql/)存放,因?yàn)樽远x目錄貌似還是行不通。。

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

3630042