在備份數據庫的時候,數據表中可能存在這樣的值array('a'='b',
'c'='d')
這種格式的值。而在數據導出的時候 會將換行換成\n(windows下是這樣,unix下可能是另一種符號)。而當在回復數據的時候,如果用mysql -h localhost -u root -proot < path/*.sql進行恢復的時候,這樣數據庫會報告“不能識別"\n"字符的錯誤提示,從而使操作終止。 想了半天,難道是在數據導出的時候有個選項可以禁止將換行轉換成 “\n",看了mysqldump所有的可選項,沒有找到解決的答案。 那問題就是處在導入數據的時候。
後來注意到,在上面我們恢復數據的時候是在沒有連接數據的狀態下執行的。那麼,我們先連接數據庫,即先執行mysql -h localhost -u root -proot 進入到數據庫,然後在數據庫連接成功的狀態下 再執行mysql> source path/*.sql;語句,ok,數據導入成功。