Ma’lumotlar bazasini import/export qilish

Ko’pchilik dasturchilar, sayt administratorlari saytlarini ko’chirish jarayonida ma’lumotlar bazasining hajmi kattalashib ketgani tufayli phpMyadmin sahifasi orqali bazani import qila olmay qolishadi. Shunday holatda muammoni qanday hal qilish usullari bilan tanishib chiqamiz.

Ma’lumotlar bazasini phpMyadmindan import qilish jarayonida hajm kattaligi tufayli xatolik chiqishi web serverdagi php.ini sozlanmalar fayldagi ba’zi sozlanmalardagi checklashlar tufayli bo’ladi. Ya’ni php yuklash hajmi, post hajmi va fayl bilan ishlash vaqti chegarasi kabi ko’rsatkichlar bu narsaga o’z ta’sirini ko’rsatadi. Bu narsalar bekordan-bekorga chiqqan emas, serverning dasturiy va fizik xavfsizligini ta’minlash maqsadida ushbu ko’rsatkichlar joriy etilgan.

Odatda php o’rnatilganda unda fayl yuklash hajmi 2 mb bo’ladi, bu amalda doim ham yetarli hajm hisoblanavermaydi, ya’ni amalda nafaqat phpMyadminga, balki web saytlarga ham 2 mb dan kattaroq hajmdagi fayllarni yuklashga to’g’ri keladi, mana shunday holatda php.ini ning ba’zi xossalarini o’zgartirish orqali serverning fayl yuklashdagi chegaralarini o’zgartirish mumkin.

Bu ham hajmi tufayli import qilishning imkoni bo’lmayotgan bazani import qilish muammosining yechimlaridan biri hisoblanadi (2-usul).

1-usul ma’lumotlar ba’zasini compresslangan (siqilgan) holda export qilib olish, bu ham ma’lumotlar bazasi dump faylining hajminig anchagina qisqarishiga yordam beradi:

compressed_db

2-usul php.ini da fayl hajmiga qo’yilgan chegaralarni o’zgartirish:

server kompyuterlarda php o’rnatilgan bo’lgan holatda php papkasi bo’ladi. Masalan linuxlarda http server sifatida apache ishlab turgan holatda:

/etc/php5/apache2/php.ini

faylida quyidagi ko’rsatkichlarni o’zgartirish kerak bo’ladi:

max_execution_time = 300; Script ishlash muddati, ushbu muddatdan oshib ketsa to'xtatiladi
memory_limit = 50M; Script ishlash jarayonida server xotirasidan band qilishi mumkin bo'lgan hajm chegarasi
post_max_size = 50M; Foydalanuvchi post yoki get usulda serverga yuborgan ma'lumot hajmi chegarasi
upload_max_filesize = 50M; Foydalanuvchi 1 yuklashda serverga yuklashi mumkin bo'lgan hajm chegarasi

3-usul server operatsion tizimining terminal/cmd dasturi orqali:
Agar server OTsi Linux bo’lsa:

mysql -u username -p database_name < file.sql

Qo’shimcha: Ma’lumotlar bazasini export qilib olish:

mysqldump -u username -p database_name > database_exportname.sql

Agar import fayli gzip compress qilingan bo’lsa:

gunzip <  database.sql.gz  | mysql -u root -p databasename

Agar ma’lumotlar bazasidan maxsus bitta table.ni eksport qilmoqchi bo’lsangiz:

mysqldump -u <db_username> -h <db_host> -p db_name table_name > table_name.sql

Qo’shimcha: Ma’lumotlar bazasini compressed (siqilgan) export qilib olish:

mysqldump -h hostname -u mysqlusername -p database_name | gzip > database_name.sql.gz

Agar server OTsi Windows bo’lsa:

C:\xampp\mysql\bin\mysql\mysql.exe -u {username} -p {databasename} < file_name.sql

Qo’shimcha: Ma’lumotlar bazasini compressed (siqilgan) export qilib olish:

C:\xampp\mysql\bin\mysql\mysqldump.exe database_name > database_exportname.sql

Fikr bildirish

Email manzilingiz chop etilmaydi. Majburiy bandlar * bilan belgilangan

  • Dilemma |

    Xampp’da bu qanday qilinadi?Ya’ni etc papka mavjud emas?

    Javob berish

    • ulugov |

      Agar siz php.ini haqida so’rayotgan bo’lsangiz XAMPP da php.ini fayli quyidagiga o’shash joydan topishingiz mumkin:

      C:\xampp\php\php.ini
      

      Javob berish