Mis on MySQL? Kuidas MySQL töötab?


MySQL on maailma populaarseim ettevõtteklassi avatud lähtekoodiga suhteliste andmebaaside haldussüsteem (RDBMS), mida kasutavad Facebook, Google, Adobe, Alcatel Lucent ja Zappos ning paljud veebisaidid/rakendused.

Seda töötab välja, levitab ja toetab Oracle Corporation. See on platvormidevaheline, võimas, paindlik ja laiendatav relatsiooniline andmebaas, mis põhineb SQL-i (struktureeritud päringukeel) standardiseeritud keelel, mida kasutatakse andmebaaside loomiseks ja manipuleerimiseks.

MySQLi uusim versioon (kirjutamise ajal versioon 8.0) on varustatud NoSQL (“Mitte ainult SQL”) dokumendibaaside toega. Seda saab installida Linuxi, macOS-i ja teistesse UNIX-tüüpi operatsioonisüsteemidesse ning Windowsi.

  • Laadige alla MySQL-i kogukondlik väljaanne
  • Laadige alla MySQL Enterprise Edition

MySQL-i andmebaasitarkvara on avatud lähtekoodiga, see kasutab GPL-i (GNU General Public License). Oluline on see, et seda pakutakse kahes erinevas väljaandes: avatud lähtekoodiga MySQL kogukonna server, mille saate alla laadida, pääseda juurde lähtekoodile ja seda tasuta kasutada, ning MySQL Enterprise väljaanne ja muud kommertstooted, mis vajavad iga-aastast tellimust ning sisaldavad professionaalset tuge ja palju muid eeliseid.

MySQL-i kasutatakse mitmesugustel eesmärkidel, sealhulgas veebiandmebaas (kõige tavalisem kasutus), andmehoidla, e-kaubandus ja logirakendused. See on üks levinumalt installitud tarkvara LAMP-i (Linux + Apache + MySQL + PHP) või LEMP-i (Linux + Engine-X + MySQL + PHP) korstna seadistamiseks, mida kasutatakse veebiarenduseks ja veebimajanduse sisuhaldussüsteemide nagu WordPress majutamiseks. Magneto, Joomla, Drupal ja paljud teised. Lisaks PHP-le toetab see ka paljusid muid keeli, sealhulgas Perli, Node.js, Pythoni ja nii edasi.

Vaadake neid seotud juhendeid oma rakenduse seadistamiseks Linuxi MySQL-i andmebaasiga.

  • Kuidas LAMP-serverit CentOS 8-le installida
  • Kuidas LEMP-serverit CentOS 8-le installida
  • Kuidas installida LAMP Stack koos PhpMyAdminiga Ubuntu 20.04
  • Kuidas installida LEMP Stack koos PhpMyAdminiga Ubuntu 20.04
  • Kuidas installida WordPressi Apache abil Ubuntu 20.04

Kuidas MySQL töötab?

Nagu enamikul seal asuvatest andmebaaside haldussüsteemidest, on ka MySQLil klient-server arhitektuur ja seda saab kasutada võrgukeskkonnas. Serveriprogramm asub samas füüsilises või virtuaalsüsteemis, kuhu andmebaasifailid on salvestatud, ja see vastutab kõigi andmebaasidega suhtlemise eest.

Erinevad kliendiprogrammid, näiteks MySQL-i tööriistad andmebaasi haldamiseks või mis tahes muudes programmeerimiskeeltes kirjutatud rakendused, saavad serveriga ühenduse luua ja andmebaasitaotlusi esitada. Server töötleb klienditaotlusi ja tagastab tulemused kliendile tagasi.

Klient võib elada serveriga samas süsteemis või kaughostis ja saata andmebaasi taotlusi võrgu või Interneti-ühenduse kaudu serverisse. Oluline on see, et klientide ühenduse loomiseks peab MySQL-server töötama.

MySQLi põhijooned

MySQL kasutab mitmekihilist serveri kujundust koos sõltumatute moodulitega. Server on mitmekeermeline, mitme kasutajaga, skaleeritav ja robustselt loodud missioonikriitiliste ja suure koormusega tootmissüsteemide jaoks. See pakub nii tehingulisi kui ka mittetraktilisi salvestusmootoreid ja toetab teiste salvestusmootorite lisamist.

  • MySQL kasutab indeksite tihendamisega väga kiireid B-puu tabeleid, väga kiiret niidipõhist mälu jaotussüsteemi ja teostab väga kiireid liitumisi, kasutades optimeeritud sisestatud silmuse liitmist.
  • See toetab paljusid andmetüüpe, nagu allkirjastatud/allkirjastamata täisarvud, ujukoma tüübid (ujuk- ja kahekordsed), char ja varchar, binaarne ja varbinaarne, kämp ja tekst, kuupäev, kuupäev ja kellaaeg ning ajatempel, aasta, komplekt, loend, ja OpenGIS-i ruumitüübid.
  • MySQL toetab ka andmete koondamist ja kõrget kättesaadavust (HA) ülema-orja replikatsiooni, mitme sõlme klastrite ning varundamise ja taastamise/taastamise kaudu. See pakub laias valikus varundamistüüpe ja strateegiaid, mille hulgast saate valida meetodid, mis sobivad kõige paremini teie juurutamise nõuetele.
  • Selle turvafunktsioonid hõlmavad kasutajakonto haldamist ja juurdepääsu kontrollimist, hostipõhist kinnitamist, krüpteeritud ühendusi, mitut komponenti ja pistikprogrammi (nagu autentimispluginad, ühenduse juhtimise pistikprogrammid, parooli kinnitamise komponent ja palju muud), mis rakendavad turvalisust, nagu samuti FIPS-i (föderaalsed teabetöötlusstandardid 140-2 (FIPS 140-2)) režiim serveripoolel, mis kehtib serveri tehtud krüptograafiliste toimingute jaoks.

Lisaks saate tagada täiendava turvalisuse, järgides MySQL/MariaDB Linuxi turvalisuse häid tavasid. Kuid nagu alati, veenduge, et võrgu- ja serveriturvalisus oleks tagatud, et tagada andmebaaside kõikehõlmav turvalisus.

MySQL klient ja tööriistad

MySQL-l on mitu kliendiprogrammi, näiteks populaarsed käsurea utiliidid: mysql, mysqldump, andmebaaside haldamiseks. MySQL-serveriga ühenduse loomiseks saavad kliendid kasutada mitut protokolli, näiteks TCP/IP-pistikupesasid mis tahes platvormil või UNIX-i domeenipesasid UNIX-süsteemides, näiteks Linuxis.

MySQL-i lausete ühendamiseks ja täitmiseks teisest keelest või keskkonnast on olemas standardipõhised MySQL-konnektorid (mis võimaldavad ühendada klientrakenduste jaoks MySQL-i serveri) ja API-d kõige populaarsemate programmeerimiskeelte jaoks (et võimaldada madalat juurdepääsu MySQL-i ressurssidele, kasutades kas klassikaline MySQL-i protokoll või X-protokoll).

Mõned populaarsed pistikud ja API-d hõlmavad ODBC (avatud andmebaaside ühenduvus), Java (JDBC - Java andmebaaside ühenduvus), Python, PHP, Node.js, C ++, Perl, Ruby ja native C ning manustatud MySQL eksemplare.

Järgmised artiklid MySQL-i kohta on teile kasulikud:

  • Kuidas installida uusim MySQL 8 Debian 10-sse
  • 15 kasulikku MySQL/MariaDB jõudluse häälestamise ja optimeerimise nõuannet
  • Kasulikud näpunäited MySQL-i levinud vigade tõrkeotsinguks
  • Kuidas lähtestada juurparool MySQL 8.0-s
  • Kuidas muuta Linuxi MySQL/MariaDB vaikeporti
  • 4 kasulikku käsurea tööriista MySQL-i jõudluse jälgimiseks Linuxis