對於經常使用mysql的人來說,phpmyadmin是乙個必備的工具。這個工具非常強大,幾乎可以完成所有的資料庫操作,但是它也有乙個弱點,對於往遠端伺服器上匯入較大的資料檔案的時候會速度奇慢,甚至出現長期沒有響應的情況。
為什麼會出現這樣的情況呢?當我們選擇乙個sql資料檔案並提交的時候,伺服器首先要先把檔案上傳到伺服器,然後才會執行匯入**把資料匯入到資料庫。我們知道phpmyadmin是通過web方式上傳的資料檔案,而web方式上傳是很不穩定的,尤其是網速慢的時候,這就是為什麼我們會有那麼多次在電腦前面苦苦等待而最終卻沒有結果的原因。
通過上面的分析,我們知道這個問題是程式設計客棧出在web上傳而非匯入程式,所以如果能避免通過web上傳這個問題就好辦了。我們可能會想到那功能強大的ftp上傳工具,可是phpmyadmin無法選擇遠端路伺服器上的檔案,這是很鬱悶的。
這裡我們要放棄phpmysqladmin,通過mysql語句來匯入資料庫。很多人會納悶怎麼來執行sql語句,這是乙個關鍵的問題,這需要你的空間支aej**hm持ssh(secure shell protocol),並且你還得會一些linux命令。
首先通過ssh登入到伺服器(我用putty登入工具),通過一些簡單的linux命令找到我們的sql檔案,然後執行下面的**:
mysql db_name < data_file.sql
執行完命令之後如果沒有任何提示,則說明我們的資料已經匯入成功了(注意檔案格式是date_file.sql, sql.gz在中文下會出錯) 。
———————–2008.12.9 update———————-
有些時候你可能會遇到錯誤資訊,說你的許可權不夠,那我們就需要加一些引數了。
mysql -hlocalhost -uusername -p db_name < data_file.sql
這樣回車之後,就會有輸入密碼的提示,然後輸入你的資料庫密碼就可以匯入了。
引數-h是指定匯入的伺服器,-u是資料庫的使用者名稱,-p是登入資料庫的密碼,這三個引數後面不用加空格。
———————–2008.12.9 update———————-
這是乙個很好的辦法,但程式設計客棧是也不是所有的人都可以用這個方法的,因為前提是你的空間必須支援ssh登入,而支援ssh登入的空間還是比較少的,這真是挺讓人遺憾的。
還有乙個辦法就是把phpmyadmin裡面的import那個功能模組提取出來,稍微改動一下也可以達到相同的效果。當然如aej**hm果你是乙個php高手,也可以自己寫乙個匯入的程式,可以直接選擇乙個服www.cppcns.com務器的路徑,期待ing。。。
本文標題: 用sql語句解決mysql匯入大資料檔案的問題
本文位址:
mysql無法匯入sql語句
error 2006,mysql server has gone away 的問題意思就是指client和mysql server之間的鏈結斷開了。造成這樣的原因一般是sql操作的時間過長,或者是傳送的資料太大 例如使用insert values的語句過長,這種情況可以通過修改max allowed...
匯入匯出sql語句
expdp 匯出 create directory dpdata1 as d test dump 建立目錄 grant read,write on directory dpdata1 to scott 賦予許可權 select from dba directories 查詢目錄 要在c盤建立test...
mysql 匯入匯出語句 MySQL匯入匯出命令
場景 假設在電腦a和電腦b中都裝有mysql資料庫管理系統,並且在電腦a的mysql中有2個資料庫,分別為 shop1和shop2。在shop1和shop2資料庫中都存有3張表,分別為 user good cart,並且這三張表中都存有一些資料。需求及解決方法 1 將電腦a的mysql中的全部資料庫...