MySQL ni nini? Je, MySQL Inafanyaje Kazi?


MySQL ndio mfumo maarufu zaidi wa usimamizi wa hifadhidata wa uhusiano wa chanzo huria duniani (RDBMS) ambao unatumika kwenye Facebook, Google, Adobe, Alcatel Lucent, na Zappos, na tovuti/programu nyingi za mtandaoni.

Inatengenezwa, inasambazwa, na kuungwa mkono na Oracle Corporation. Ni hifadhidata ya mfumo mtambuka, yenye nguvu, inayoweza kunyumbulika, na inayoweza kupanuka ambayo inategemea lugha sanifu ya SQL (Lugha ya Maswali Iliyoundwa) inayotumiwa kuunda na kuendesha hifadhidata.

Toleo la hivi punde la MySQL (toleo la 8.0 wakati wa kuandika) linakuja na usaidizi wa hifadhidata za hati za NoSQL (\Si SQL Pekee). Inaweza kusakinishwa katika Linux, macOS, na mifumo mingine ya uendeshaji kama UNIX, na Windows.

  • Pakua Toleo la Jumuiya ya MySQL
  • Pakua Toleo la Biashara la MySQL

Programu ya hifadhidata ya MySQL ni chanzo wazi, hutumia GPL (GNU General Public License). Muhimu zaidi, inatolewa katika matoleo mawili tofauti: Seva ya Jamii ya MySQL ya chanzo-wazi ambayo unaweza kupakua, kufikia msimbo wa chanzo, na kutumia bila malipo na toleo la wamiliki la MySQL Enterprise na bidhaa nyingine za kibiashara zinazohitaji usajili wa kila mwaka na kujumuisha usaidizi wa kitaalamu na faida nyingine nyingi.

MySQL inatumika kwa madhumuni mbalimbali, ikiwa ni pamoja na hifadhidata ya wavuti (matumizi ya kawaida), kuhifadhi data, biashara ya mtandaoni, na programu za ukataji miti. Ni mojawapo ya programu zilizosakinishwa kwa kawaida ili kusanidi mrundikano wa LAMP (Linux + Apache + MySQL + PHP) au LEMP (Linux + Engine-X + MySQL + PHP) inayotumika kwa ukuzaji wa wavuti na kukaribisha mifumo ya usimamizi wa yaliyomo mtandaoni kama vile WordPress, Magneto, Joomla, Drupal, na wengine wengi. Kando na PHP, pia inasaidia lugha nyingine nyingi ikiwa ni pamoja na Perl, Node.js, Python, na kadhalika.

Angalia miongozo hii inayohusiana katika kusanidi programu yako na hifadhidata ya MySQL kwenye Linux.

  • Jinsi ya Kusakinisha Seva ya LAMP kwenye CentOS 8
  • Jinsi ya Kusakinisha Seva ya LEMP kwenye CentOS 8
  • Jinsi ya Kusakinisha Rafu ya LAMP na PhpMyAdmin katika Ubuntu 20.04
  • Jinsi ya Kusakinisha LeMP Stack na PhpMyAdmin katika Ubuntu 20.04
  • Jinsi ya kusakinisha WordPress na Apache katika Ubuntu 20.04

Je, MySQL Inafanyaje Kazi?

Kama mifumo mingi ya usimamizi wa hifadhidata huko nje, MySQL ina usanifu wa seva ya mteja na inaweza kutumika katika mazingira ya mtandao. Programu ya seva hukaa kwenye mfumo ule ule wa kimwili au dhahania ambapo faili za hifadhidata huhifadhiwa, na inawajibika kwa mwingiliano wote na hifadhidata.

Programu mbalimbali za mteja kama vile zana za MySQL za usimamizi wa hifadhidata au programu zozote ambazo zimeandikwa katika lugha zingine za programu, zinaweza kuunganishwa kwenye seva na kufanya maombi ya hifadhidata. Seva huchakata maombi ya mteja na kurejesha matokeo kwa mteja.

Mteja anaweza kuishi kwenye mfumo sawa na seva au kwenye seva pangishi ya mbali na kutuma maombi ya hifadhidata kupitia mtandao au muunganisho wa intaneti kwa seva. Muhimu, seva ya MySQL lazima iwe inaendesha kwa wateja kuunganishwa nayo.

Vipengele muhimu vya MySQL

MySQL hutumia muundo wa seva wa tabaka nyingi na moduli zinazojitegemea. Seva ina nyuzi nyingi, ina watumiaji wengi, inaweza kupanuka, na imeundwa kwa uthabiti kwa ajili ya mifumo muhimu ya utayarishaji wa upakiaji wa mizigo mizito. Inatoa injini za kuhifadhi za shughuli na zisizo za miamala na inasaidia uongezaji wa injini zingine za uhifadhi.

  • MySQL hutumia majedwali ya B-tree ya haraka sana yenye ukandamizaji wa faharasa, mfumo wa ugawaji wa kumbukumbu unaozingatia nyuzi haraka sana, na hutekeleza viungio vya haraka sana kwa kutumia kiunganishi kilichoboreshwa cha nested-loop.
  • Inaauni aina nyingi za data kama vile nambari kamili zilizotiwa saini/ambazo hazijatiwa saini, aina za sehemu zinazoelea (float na double), char na varchar, binary na varbinary, blob na text, Tarehe, Tarehe, na muhuri wa saa, mwaka, seti, enum, na OpenGIS aina za anga.
  • MySQL pia inasaidia upunguzaji wa data, na upatikanaji wa juu (HA) kupitia urudufishaji wa utumwa mkuu, uunganishaji wa nodi nyingi, na kuhifadhi nakala na kurejesha/kurejesha. Inatoa aina mbalimbali za chelezo na mikakati ambayo unaweza kuchagua mbinu zinazofaa zaidi mahitaji ya utumaji wako.
  • Vipengele vyake vya usalama ni pamoja na udhibiti wa akaunti ya mtumiaji na udhibiti wa ufikiaji, uthibitishaji kulingana na mwenyeji, miunganisho iliyosimbwa kwa njia fiche, vipengee kadhaa na programu-jalizi (kama vile programu-jalizi za uthibitishaji, programu-jalizi za kudhibiti muunganisho, sehemu ya uthibitishaji wa nenosiri na mengine mengi) ambayo hutekeleza usalama, kama vile programu jalizi. pamoja na hali ya FIPS (Viwango vya Uchakataji wa Taarifa za Shirikisho 140-2 (FIPS 140-2)) kwenye upande wa seva ambayo inatumika kwa shughuli za kriptografia zinazofanywa na seva.

Kando na hilo, unaweza pia kuhakikisha usalama wa ziada kwa kufuata mbinu bora za usalama za MySQL/MariaDB za Linux. Lakini kama kawaida, hakikisha kuwa umetekeleza usalama mzuri wa mtandao na seva, ili kuhakikisha usalama wa seva ya hifadhidata wa pande zote.

Mteja wa MySQL na Zana

Meli za MySQL zilizo na programu kadhaa za mteja kama vile huduma maarufu za mstari wa amri: mysql, mysqldump, kwa ajili ya kusimamia hifadhidata. Ili kuunganisha kwenye Seva ya MySQL, wateja wanaweza kutumia itifaki kadhaa, kwa mfano, soketi za TCP/IP kwenye jukwaa lolote au soketi za kikoa za UNIX kwenye mifumo ya UNIX kama vile Linux.

Ili kuunganisha na kutekeleza kauli za MySQL kutoka kwa lugha au mazingira mengine, kuna viunganishi vya MySQL kulingana na viwango (vinavyotoa muunganisho wa seva ya MySQL kwa programu za mteja), na API za lugha maarufu zaidi za programu (kutoa ufikiaji wa kiwango cha chini kwa rasilimali za MySQL kwa kutumia. ama itifaki ya kawaida ya MySQL au Itifaki ya X).

Baadhi ya viunganishi na API maarufu ni pamoja na ODBC (Muunganisho wa Hifadhidata Huria), Java (JDBC - Muunganisho wa Hifadhidata ya Java), Python, PHP, Node.js, C++, Perl, Ruby, na C asilia na hali zilizopachikwa za MySQL.

Utapata makala zifuatazo kuhusu MySQL muhimu:

  • Jinsi ya Kusakinisha MySQL 8 ya Hivi Punde kwenye Debian 10
  • Vidokezo 15 Muhimu vya Marekebisho ya Utendaji na Uboreshaji wa MySQL/MariaDB
  • Vidokezo Muhimu vya Kutatua Hitilafu za Kawaida katika MySQL
  • Jinsi ya Kuweka Upya Nenosiri la Mizizi katika MySQL 8.0
  • Jinsi ya Kubadilisha Mlango Chaguomsingi wa MySQL/MariaDB katika Linux
  • Zana 4 Muhimu za Mstari wa Amri Kufuatilia Utendaji wa MySQL katika Linux