MySQL
MySQL ma'lumotlar bazasi nima?
MySQL - bu SQL-ni implement qiladigan relation ma'lumotlar bazasini boshqarish tizimi (RDBMS). Dastlab u kichik va o'rta o'lchamdagi ma'lumotlar bazalari bilan foydalanish uchun mo'ljallangan edi, ammo hozirda u hatto juda katta hajmdagi saqlangan ma'lumotlarni ham ishlay oladi. MySQL C/C++ tilida yozilgan va asosan SQL standartiga mos keladi. Biroq, u ko'plab extensionlarni qo'shadi va mukammal muvofiqlikdan ko'ra tezlik va ishonchlilikni ta'kidlaydi.
MySQL-ning asosiy versiyasi Oracle korporatsiyasi tomonidan tarqatiladi va open-source litsenziya ostida bepul mavjud. MySQL-ning joriy versiyasi 8.0. MySQL har qanday Linux distiributorida va boshqa ko'plab platformalarda ishlatilishi mumkin. Bu Linux, Apache va PHP dasturlash tili bilan bir qatorda open source LAMP stackning muhim tarkibiy qismidir. LAMP stacki Linuxda open source veb-ilovalarni ishlab chiqishning asosidir. MySQL client/server tizimining bir qismi sifatida yoki embedded system bir qismi sifatida ishlatilishi mumkin.
Barcha RDBMS ilovalari singari, MySQL ham relation ma'lumotlar bazasidir. Administratorlar va foydalanuvchilar ma'lumotlar bazasidagi tablelar ichidagi va o'rtasidagi munosabatlarni belgilaydilar. Turli columnlar zarur(required) yoki ixtiyoriy(optional) sifatida belgilanishi mumkin va asosiy primary key boshqa tablega pointer sifatida xizmat qilishi mumkin. MySQL barqaror, ishonchli va ulardan foydalanish oson. MySQL ning ba'zi o'ziga xos afzalliklari:
-
MySQL etuk(mature), mashhur va yaxshi o'rnatilgan mahsulotdir. U boshqa open source ma'lumotlar bazalariga qaraganda ko'proq community yordamiga ega va yaxshi ma'lumotnoma materiallari va texnik hujjatlarga ega.
-
MySQL InnoDB storage systemi bilan foydalanilganda ACID stand bo'lishi uchun sozlanishi mumkin. ACID qisqartmasi Atomicity, Consistency, Isolation, va Durability degan ma'noni anglatadi. Bu har qanday xato, nosozlik yoki uzilishlarga qaramasdan ma'lumotlarning haqiqiyligini(data validity) kafolatlashi mumkinligini anglatadi.
-
Optimallashtirilgan class kutubxonalari(library), compression(siqish), memory allocation(xotirani taqsimlash) va hash tablelari kabi xususiyatlar tufayli u o'zining high performance bilan mashhur. U bir nechta protsessorli tizimlarda(multiple CPU) yanada samarali ishlash uchun multi-threaded kerneli threadlarni qo'llab-quvvatlaydi.
-
U juda katta ma'lumotlar bazalarini qo'llab-quvvatlaydi, har bir table uchun yuzlab million yozuvlarni(record) va 64 tagacha indekslarni saqlaydi.
-
MySQL kengaytirilgan xavfsizlik mexanizmlarini, shu jumladan barcha parollarni shifrlashni ta'minlaydi.
-
Bu ishonchlilikni oshirish uchun ma'lumotlarni replicatsiya qilish va redundancy qilish imkonini beradi.
-
MySQL tablelar va columnlardagi aliaslarni qo'llab-quvvatlaydi va turli xil belgilar(character) to'plamini to'liq qo'llab-quvvatlaydi.
-
MySQL veb-ishlab chiqishda keng qo'llaniladigan PHP bilan yaxshi ishlaydi.
-
U juda ko'p turli kompilyatorlar va turli platformalarda ishlaydi va tizimlar orasida ko'chma(portable) bo'lishi uchun mo'ljallangan. Client dasturlari ko'p tillarda yozilishi mumkin. MySQL C/C++, PHP, Java, Python, Ruby va Perl uchun APIlarni taqdim etadi.
-
MySQL stand-alone ilovalarga kiritilishi mumkin bo'lgan kutubxona(library) sifatida mavjud.
-
MySQL bir nechta qulay client yordamchi dasturlari(utilitie), jumladan
mysqldump
vamysqladmin
bilan paketlangan. Foydalanuvchilarmysqlcheck
dasturi yordamida tablelarni tekshirishlari, optimallashtirishlari va tuzatishlari mumkin. -
MySQL open source litsenziyasi ishlab chiquvchilarga MySQL-ni sozlash va manba kodini o'z talablariga javob berish uchun o'zgartirish imkonini beradi.
MySQL, shuningdek, mijozlarni(client) to'liq qo'llab-quvvatlash bilan to'liq xususiyatli(fully-featured) Enterprise Edition versiyasi ham mavjud.
MySQL Client va Serveri nima?
MySQL clienti(mijoz) va MySQL serveri tarmoq arxitekturasida birgalikda ishlaydigan ikki xil komponentdir. Odatda bitta markaziy server va bir yoki bir nechta client mavjud. MySQL ma'lumotlar bazasi server ilovasi xostga o'rnatiladi, ko'pincha LAMP stekining bir qismi sifatida. Ushbu server ma'lumotlar bazasi konfiguratsiyasi va ma'lumotlarini saqlaydi va clientlar so'rovlariga javob beradi. Shuningdek, u xavfsizlikni va har qanday kirishni boshqarish tizimini ta'minlaydi va kerak bo'lganda ma'lumotlarni replicatsiya qiladi va arxivlaydi. Xuddi shu server turli clientlar uchun bir nechta ma'lumotlar bazalarini joylashtirishi mumkin.
MySQL clienti foydalanuvchilarga MySQL serveriga bir xil tizimda yoki boshqa xostda ulanish imkonini beradi. Mijoz read(o'qish) yoki ma'lumotlar bazasiga write(yozish) uchun serverga SQL so'rovlarini(query) yuboradi. MySQL clienti, shuningdek, clientni boshqaradi, maintain qiladi va himoya qiladi. Querylarni bajarish(run) uchun faqat masofaviy ma'lumotlar bazasiga ulanishni xohlaydigan foydalanuvchilar uchun stand-alone client tavsiya etiladi. Serverda ma'lumotlar bazasini joylashtirmoqchi bo'lgan adminlar MySQL server paketini to'liq o'rnatishlari kerak. Serverni o'rnatish ma'lumotlar bazasini yaratish va boshqarish uchun clientni o'z ichiga oladi.
Standart MySQL command line client yordam dasturi mysql
deb nomlanadi. U yum install mysql
yoki apt-get install mysql-client
buyrug'i yordamida server komponentisiz o'rnatilishi mumkin. MySQL clientiga kirish uchun mysql <ma'lumotlar bazasi_nomi>
buyrug'idan foydalaning. Foydalanuvchi nomi, parol va server IP manzili qo'shimcha parametrlar yordamida belgilanishi mumkin.
Foydalanuvchi tizimga muvaffaqiyatli kirganida, mijoz MySQL queryni mysql>
ko'rsatadi. Keyin foydalanuvchi SQL buyruqlarini ishga tushirishi mumkin.
MySQL nima uchun ishlatiladi?
MySQL - bu har qanday o'lchamdagi ma'lumotlar to'plami bilan foydalanish uchun ko'p qirrali RDBMS. Ilova ma'lumotlarni saqlashi va olishi kerak bo'lgan istalgan vaqtda uni ko'rib chiqish mumkin. MySQL dastlab kichik va o'rta o'lchamli bitta serverli konfiguratsiyalar uchun ishlab chiqilgan. Biroq, unumdorligi va kengaytirilishining so'nggi yaxshilanishi bilan uni deyarli har qanday o'lchamdagi ilovada ishlatish mumkin. Hatto Uber, Airbnb, Github va Shopify kabi yirik kompaniyalar MySQL-dan foydalanadilar.
Foydalanuvchilar WordPressni sozlash uchun MySQL-ni o'rnatishlari kerak. WordPress o'zining barcha ma'lumotlari va konfiguratsiya fayllarini saqlash uchun MySQL-dan foydalanadi va veb-sahifalarni ko'rsatish va yaratish uchun MySQL bilan dinamik o'zaro ta'sir qiladi. Foydalanuvchilar WordPress-dan foydalanish uchun SQL-ni tushunishlari shart emas. Biroq, u yuqoriroq(advanced) sozlashlarni amalga oshirishda foydali bo'lishi mumkin. Linuxda WordPress ko'pincha MySQL va LAMP stekining qolgan qismi bilan birga paket sifatida o'rnatiladi.
MySQL uchun boshqa keng tarqalgan ilovalar ma'lumotlarni saqlash, tranzaktsiyalarni qayta ishlash, bron qilish tizimlari, elektron tijorat va veb-ma'lumotlar bazalarini o'z ichiga oladi. Misol uchun, MySQL ma'lumotlar bazasi onlayn-do'kon uchun mahsulotlar ro'yxatini va inventarini saqlashi mumkin.
Xulosa
Ushbu qo'llanma ko'p beriladigan "MySQL ma'lumotlar bazasi nima?" Degan savolga javob beradi degan umiddamiz. MySQL - bu tablelar(jadvallar) va fieldlar(maydonlar) o'rtasidagi munosabatlarga asoslangan ma'lumotlarni tartibga soluvchi relation ma'lumotlar bazasi. Bu ma'lumotlar bazasini boshqarish tizimining (RDBMS) bir turi bo'lib, u yozuvlarni tablelar ichidagi rowlar sifatida saqlaydi. Har bir row ma'lumotlar yozuvining turli atributlarini ifodalovchi bir qator columnlardan iborat. Ma'lumotlar bazasi uchun maxsus SQL dasturlash tili MySQL-dan ma'lumotlarni saqlash va olish uchun ishlatiladi. SQL bir qator discrete statementlardan foydalanadi va RDBMS tizimlari bilan ishlash uchun mo'ljallangan.
MySQL katta tablelar va katta hajmdagi ma'lumotlarni saqlash qobiliyati, shuningdek tezligi va ishonchliligi bilan mashhur. U ko'plab umumiy dasturlash tillari uchun API'larni taqdim etadi va bir nechta foydali yordamchi dasturlar bilan to'ldirilgan. MySQL server ma'lumotlarni saqlaydi va MySQL clientlari so'rovlariga javob beradi. Client har doim server bilan paketlangan bo'ladi, lekin undan uzoq ma'lumotlar bazalari bilan aloqa qilish uchun mustaqil dastur(stand-alone) sifatida foydalanish mumkin. MySQL ko'plab taniqli kompaniyalarda qo'llaniladi va WordPress-dan foydalanmoqchi bo'lganlar uchun zarurdir. Biroq, u veb-ma'lumotlar bazalarida va ma'lumotlarni saqlashda ham qo'llaniladi. MySQL haqida qo'shimcha ma'lumot olish uchun MySQL texnik hujjatlariga qarang. Agar siz MySQL-ga asoslangan birinchi ilovangizni yozayotgan bo'lsangiz, ushbu xavfsizlik zaifligi haqida ko'proq ma'lumot olish uchun SQL Injection Attack: bu nima va uni qanday oldini olish mumkin (opens in a new tab) bo'yicha qo'llanmamizni ko'rib chiqishingiz mumkin.
Qo'shimcha
Ushbu mavzu bo'yicha qo'shimcha ma'lumot olish uchun quyidagi manbalarga murojaat qilishingiz mumkin.
Foydalanilgan manbalar: www.linode.com (opens in a new tab)
Sana: 2023.11.27(2023-yil 27-noyabr)