mysql資料庫匯入匯入代碼

來源:互聯網
上載者:User

先來講講利用比如到處資料用逗號(‘),豎線(|)隔開的資料。很多人會說使用用

 代碼如下 複製代碼
mysql -uUser -pPwd dbName -e “$sql”

進行匯出。
其中$sql使用

 代碼如下 複製代碼
SELECT * FROM `TABLENAME` WHERE xxx INTO OUTFILE “指定檔案路勁” FIELDS TERMINATED BY ”|“

這種往往很多會報沒有許可權之類的莫名其妙的錯誤。

錯誤一

 代碼如下 複製代碼

ERRORERROR 1045 (28000) at line 1: Access denied for user 'qinghua'@'localhost' (using password: YES)

錯誤二

 代碼如下 複製代碼

ERRORERROR 1 (HY000) at line 1: Can't create/write to file '/home/martin/outfile' (Errcode: 13)

錯誤一是由於普通使用者沒有執行許可權,錯誤二是由於沒有許可權穿件檔案”aa”。
正確的做應該是

 代碼如下 複製代碼

 SHELLmysql -uqinghua -p123456 qinghua --e "select * from qinghua.user where 1 into outfile 'outfile' FIELDS TERMINATED BY'|'"

這樣它穿件的檔案會出現在mysql datadir目錄對應的資料庫檔案夾內。

如果想把檔案建立到指定目錄內。那你一定得賦予改目錄mysql寫入許可權。

一般的做法是

 代碼如下 複製代碼

mkdir -p /home/martin/outdata;
chown mysql.mysql /home/martin/outdata;

sudo chmod 777 /home/martin/outdata;

 SHELLmysql -uqinghua -p123456 qinghua --e "select * from qinghua.user where 1 into outfile '/home/martin/outdata/outfile' FIELDS TERMINATED BY'|'"

mysqldump參數介紹:http://www.111cn.net/database/mysql/42121.htm 相關文章

–w 設定匯出的條件。
–no-create-db 匯出時不到出穿件資料庫。
–no-create-info 不建立表結構。
–xml 匯出xml格式檔案。
–skip-add-drop-table 不建立刪除表結構語句。
mysql資料匯入一般使用 mysql -uUser -pPwd dbName < xxx.sql,或者使用source進行匯入。

參考地址:

http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html

http://dev.mysql.com/doc/refman/5.1/zh/replication.html 產生二進位日誌,進行雙機熱備

再看看其它的方法

匯出程式如下:調用方法為 ****.php?table=tablename
這個簡單的程式目前一次儲存一個表格!!每行為一個欄位的資料!!
 

 代碼如下 複製代碼
if($table=="")exit();
mysql_connect("localhost","name","password");
mysql_select_db("database");
$result = mysql_query("select * from $table");
if(mysql_num_rows($result) < = 0) exit();
echo "開始轉換資料到文本...
";
$handle = fopen("$table.txt","w");
$numfields = mysql_num_fields($result);
fputs($handle,$numfields."rn");
for($k=0;$k
{
$msg = mysql_fetch_row($result);
for($i=0;$i< $numfields;$i++)
{
$msg[$i] = str_replace("rn","&&php2000mysqlreturn&&",$msg[$i]);
$msg[$i] = str_replace("n" ,"&&php2000mysqlreturn&&",$msg[$i]);
fputs($handle,$msg[$i]."rn");
}
fputs($handle,"------- php2000 dump data program V1.0 for MySQL --------rn");
}
fclose($handle);
echo "ok";
?>

匯入的程式如下:用法同上面!

 

 代碼如下 複製代碼
if($table=="")exit();
mysql_connect("localhost","name","password");
mysql_select_db("database");
$message = file("$table.txt");
echo $numfields = chop($message[0]);
for($k=1;$k
{
$value="";
for ($i=$k;$i< ($k+$numfields-1);$i++)
{
$tmp = str_replace("&&php2000mysqlreturn&&","rn",chop($message[$i]));
$value .= "'".addslashes($tmp)."',";
}
$tmp = str_replace("&&php2000mysqlreturn&&","rn",chop($message[$k+$numfields-1]));
$value .= "'".$tmp."'";
$query = "insert into $table values (".$value.")";
echo mysql_error();
mysql_query($query);
echo $k." ";
}
echo "ok";
?>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.