• Terbaru

    Insert Data Lebih dari 40000 baris / file size > 1Mb MySQL


    Jika ketika import data yang jumlahnya banyak dan bisa lebih dari 6MB dengan baris data > 40000, dan file dalam bentuk .scv.

    kondisi : file 6MB / lebih, baris data yang akan di import > 40000
    masalah : muncul error seperti ini :
    No data was received to import. Either no file name was submitted, or the file size exceeded the maximum size permitted by your PHP configuration

    itu artinya file upload lebih besar dari yang di ijinkan di upload pada settingan php.


    Jika dengan xampp di windows

    Cara menginsert data yang banyak ke dalam mysql dalam satu query.

    1. Setting default mysql untuk max_allowed_packet = 1M
    2. Perhatikan isi dari query / syntax sudah benar, jumlah kolom sudah benar (tidak ada tanda " atau ' di dalam satu kolom yang mau di insert).

    File data dalam bentuk format .csv
    misal ada data sebanyak 40000 baris, tempatkan dalam Ms Excel dan save as .csv

    Tabel mysql : pada tabel yang akan di isi data sudah terdapat kolom yang telah di tentukan
    File Excel : jumlah kolom harus sama dengan kolom yang terdapat pada tabel Mysql

    jumlah kolom A,B,C,D harus sama jumlahnya dengan kolom pada tabel SQL, baris data bisa mencapai lebih dari 40.000 baris.

    Jika langsung di upload akan muncul pesan server has gone away.
    ini salah satunya bisa di sebabkan karena max file tadi

    nah solusinya buka folder xampp\mysql\bin dan php.ini di folder xampp/php buka file my.ini , bisa di buka dengan notepad atau text editor lainya
    rubah bagian max_allowed_packet, kemudian simpan dan restart mysql dari xampp control panel (bagi yang menggunakan xampp), rubah max_execution_time dan max_input_time di php.ini

    karena saya malas jadi uploadnya dari phpmyadmin
    Choose / pilih file .scv dan klik Go.


    Konfigurasi jika di LInux (Linux Mint 14.04).

    kondisi : jika php5,apache2,mysql di install secara terpisah (sendiri sendiri)
    buka php.ini di folder /etc/php5/apache2
    kemudian cari upload_max_filesize.



    kemudian upload filenya lagi dari phpyadmin.

    Pada kondisi file yang ukuranya besar ada kemungkinan waktu yang di perlukan untuk mengupload data akan lama dan biasanya akan muncul pesan :

    script timeout passed if you want to finish import please resubmit same file and import will resume
    .

    solusinya dengan merubah max_execution_time dan max_input_time di php.ini sama dengan file yang di atas


    No comments

    Saya sangat berterimakasih apabila sahabat sekalian bersedia untuk tidak meninggalkan spam dan meninggalkan komentar yang berhubungan dengan artikel di atas.