文章標題

php配置文件php.ini中默認設置允許上傳的最大文件數據爲2M,因此通過phpmyadmin Web界面管理mysql數據庫時,能夠導入mysql數據庫的最大sql文件或 gzip文件大小也是2M (2048K)。如果要導入大於2M的sql數據庫文件,有以下幾種解決方法。
最直接的解決辦法當然就是修改php.ini配置文件的設置,即修改默認的 upload_max_filesize = 2M, memory_limit = 128M; post_max_size = 8M 。 比如我想上傳一個27M的sql數據庫文件,則可以修改爲 upload_max_filesize = 32M, post_max_size = 32M,post_max_size 和 memory_limit 的值至少要大於等於upload_max_filesize的設置值。增加了php.ini中的最大上傳設置數據之後,重啓Apache數據庫,再打開 phpmyadmin 就可以上傳大的sql數據庫文件等等。
另外一種方法適用於沒有權限修改網站服務器php.ini文件設置的用戶,可以使用phpmyadmin提供的cfg[UploadDir] cfg[‘UploadDir’]方法允許我們通過scp、 ftp等文件傳輸方式上傳數據庫文件到網站服務器,然後phpmyadmin從服務器的臨時目錄中導入數據庫文件。該上傳的文件名後綴必須爲.sql或 者.sql.bz2 或.sql.gz 。具體步驟如下:
在phpMyAdmin的根目錄下找到config.inc.php文件(config.sample.inc.php),打開找 到cfg[UploadDir] cfg[‘SaveDir’],註釋爲“Directories for saving/loading files from server ”,即通過cfg[UploadDir] cfg[‘SaveDir’]可以導入服務器上的SQL文件到數據庫,以及將從數據庫導出的SQL文件保存到服務器上的目錄中。
修改這個參數爲cfg[UploadDir]=ImportSQLFile; cfg[‘SaveDir’] = ‘ExportSQLFile’;
再在phpMyAdmin中建立兩個文件夾,ImportSQLFile和ExportSQLFile。也就是將需要導入的sql文件複製到 ImportSQLFile文件夾中,上傳到服務器上。選擇需要導入的數據庫名,選擇導入(Import),就會發現在文件導入(File to import)的地方多出來一個導入服務器上的SQL文件(web server upload directory)。通過這種方法可以突破php.ini的上傳文件限制。導出/備份mysql數據的時候也可以直接保存在服務器上,保存 到$cfg[‘SaveDir’] = ‘ExportSQLFile’; 中指定的文件夾中。
另外,如果網站服務器和國外美 國主機dreamhost一樣支持Shell方式(SSH,SFTP, 命令行)傳輸文件,那麼通過shell方式導入Mysql數據庫很大的sql文件都不成問題,直接在Mysql中使用命令:source filename.sql。
如果還是不能上傳大於2M的數據庫數據文件,可以檢查一下你的phpmyadmin 版本是不是最新的,據說phpmyadmin低於 2.7.0版本會出現類似memory內存、http錯誤和timeout超時等各種問題,因此最好安 裝phpmyadmin升級到最新版本。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章