ajiegs.com Never Stop Learning!
    Print This Post Print This Post
    1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
    Loading ... Loading ...
  • Oct
    4

    Permasalahan Impor Data MySQL pada PHPMyAdmin

    Filed under: Programming; Tagged as: ,

    Beberapa saat lalu aku mencoba melakukan impor data SQL program yang sedang kubuat di kantor untuk aku pasangkan di laptopku. Permasalahan timbul ketika file SQL hasil dump berisi banyak sekali record, maklum data SQL yang aku dump ada yang mencapai lebih dari 15 ribu record. Nah dengan menggunakan interface PHPMyAdmin, selalu saja mencul pesan berikut setelah proses impor yang memakan waktu cukup lama.

    Fatal error: Maximum execution time of 300 seconds exceeded in /opt/lampp/phpmyadmin/libraries/import/sql.php on line 121

    Masalah di atas tidak muncul ketika file SQL yang kuimpor hanya terdiri dari beberapa ratus record saja. Masalah ini terus saja mengganggu, bisa dibayangkan sudah menunggu lama2 untuk import, eh selalu saja pesan kesalahan itu muncul.

    Setelah mencoba mencari berbagai solusi dari web maupun forum di Internet, ada beberapa hal yang aku lakukan :

    1. Mengedit php.ini
    2. Mengedit config.inc.php
    3. Menggunakan perintah mysql

    Mengedit php.ini
    Pada file ini aku merubah 3 nilai yaitu untuk nilai max_execution_time menjadi 1000 (dalam detik), nilai memory_limit menjadi 32M , dan upload_max_filesize nilai menjadi 32M. Setelah itu aku langsung merestart service Apachenya. Namun masalah itu tetap saja terjadi. :-(

    Mengedit config.inc.php
    Aku sempat berpikir apakah ini karena konfigurasi dari PHPMyAdmin-nya yang menyebabkan masalah tersebut. Nah file config.inc.php ini adalah file konfigurasi PHPMyAdmin. Setelah membaca sebuah forum, aku menambahkan baris berikut pada file config.inc.php.

    $cfg['ExecTimeLimit'] = ‘3600′

    Nilai 3600 adalah nilai yang kurang lebih berfungsi sama dengan max_execution_time. Nilai yang dalam satuan detik ini akan mengoverride settingan pada php.ini. Setelah itu aku kembali merestart service Apachenya. Untuk file SQL yang mengandung data kurang lebih 15 ribu record, masalah dapat terpecahkan. Meski menunggu agak lama, namun akhirnya file tersebut berhasil aku impor. Berikutnya adalah file SQL yang memiliki data jauh lebih besar dari file sebelumnya, datanya saja bisa lebih dari 50 ribu record. Hasilnya adalah .. masih saja gagal (padahal sudah ditunggu2 sampai ketiduran).

    Menggunakan perintah mysql
    Cara yang paling cepat dan paling ampuh. Cukup dengan menjalankan perintah berikut pada command prompt :

    $ mysql -u namauser -p namadatabase < namafile.sql

    Rubah namauser dengan user yang ada pada mysql, yang tentunya memiliki akses ke database yang dituju. Opsi -p digunakan hanya jika user mysql tersebut menggunakan password. namadatabase disesuaikan dengan nama database yang sudah ada. Tanda lebih kecil artinya adalah akan melakukan impor dari file namafile.sql.

    Solusi lain untuk kasus yang berbeda
    Pada sebuah forum aku menemukan trik yang menarik, yaitu menambahkan sebuah baris
    ini_set(’MAX_EXECUTION_TIME’, -1); pada baris paling atas skrip PHP yang akan digunakan untuk mengimpor data SQL. Hal ini sekali lagi digunakan untuk mengoverride nilai max_execution_time.

    Share/Save/Bookmark

    No related posts.

    1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
    Loading ... Loading ...
    Print This Post Print This Post

Leave a Reply

 

October 2008
M T W T F S S
« Sep   Nov »
 12345
6789101112
13141516171819
20212223242526
2728293031  
YM : ajiegscom

Random Quote

Tidak ada orang yang Terlatih, yang ada adalah orang yang Terus Berlatih