Šta je MySQL? Kako MySQL radi?


MySQL je najpopularniji svjetski sistem za upravljanje relacijskim bazama podataka otvorenog koda (RDBMS) koji se koristi u Facebooku, Googleu, Adobeu, Alcatel Lucentu i Zapposu, i na mnogim internet stranicama/aplikacijama.

Razvija, distribuira i podržava Oracle Corporation. To je višeplatformska, moćna, fleksibilna i proširiva relaciona baza podataka koja je zasnovana na SQL (Structured Query Language) standardizovanom jeziku koji se koristi za kreiranje i upravljanje bazama podataka.

Najnovija verzija MySQL (verzija 8.0 u vrijeme pisanja) dolazi sa podrškom za NoSQL (“Ne samo SQL ”) baze podataka dokumenata. Može se instalirati u Linux, macOS i druge operativne sisteme slične UNIX-u i Windows.

Preuzmite MySQL

  • Preuzmite MySQL Community Edition
  • Preuzmite MySQL Enterprise Edition

Softver MySQL baze podataka je otvorenog koda, koristi GPL (GNU General Public License). Ono što je važno, nudi se u dva različita izdanja: open-source MySQL Community Server koji možete preuzeti, pristupiti izvornom kodu i koristiti ga besplatno i vlasnički MySQL Enterprise izdanje i drugi komercijalni proizvodi koji zahtijevaju godišnju pretplatu i uključuju profesionalnu podršku i mnoge druge pogodnosti.

MySQL se koristi za širok spektar namjena, uključujući web bazu podataka (najčešća upotreba), skladištenje podataka, e-trgovinu i aplikacije za evidentiranje. To je jedan od najčešće instaliranih softvera za postavljanje LAMP-e (Linux + Apache + MySQL + PHP) ili LEMP (Linux + Engine-X + MySQL + PHP ) stog koji se koristi za web razvoj i hosting sistema za upravljanje sadržajem na mreži kao što su WordPress, Magneto, Joomla, Drupal< i mnogi drugi. Osim PHP-a, podržava i mnoge druge jezike uključujući Perl, Node.js, Python i tako dalje.

Pogledajte ove povezane vodiče za postavljanje vaše aplikacije s MySQL bazom podataka na Linuxu.

  • Kako instalirati LAMP server na CentOS 8
  • Kako instalirati LEMP server na CentOS 8
  • Kako instalirati LAMP Stack sa PhpMyAdmin u Ubuntu 20.04
  • Kako instalirati LEMP Stack sa PhpMyAdmin u Ubuntu 20.04
  • Kako instalirati WordPress sa Apacheom u Ubuntu 20.04

Kako MySQL radi?

Kao i većina sistema za upravljanje bazama podataka, MySQL ima arhitekturu klijent-server i može se koristiti u umreženom okruženju. Serverski program se nalazi na istom fizičkom ili virtuelnom sistemu gde su pohranjene datoteke baze podataka i odgovoran je za sve interakcije sa bazama podataka.

Različiti klijentski programi kao što su MySQL alati za administraciju baze podataka ili bilo koje aplikacije koje su napisane na drugim programskim jezicima, mogu se povezati na server i postavljati zahtjeve za bazu podataka. Server obrađuje zahtjeve klijenata i vraća rezultate nazad klijentu.

Klijent može ili boraviti na istom sistemu kao server ili na udaljenom hostu i slati zahtjeve baze podataka preko mreže ili internetske veze na server. Važno je da MySQL server mora biti pokrenut da bi se klijenti mogli povezati na njega.

Ključne karakteristike MySQL-a

MySQL koristi višeslojni dizajn servera sa nezavisnim modulima. Server ima više niti, višekorisnički, skalabilan i robusno dizajniran za kritične proizvodne sisteme sa velikim opterećenjem. Pruža transakcione i netransakcione mehanizme za skladištenje i podržava dodavanje drugih mašina za skladištenje podataka.

  • MySQL koristi veoma brze tabele B-stabla sa kompresijom indeksa, veoma brz sistem alokacije memorije zasnovan na nitima i izvršava veoma brza spajanja koristeći optimizovano spajanje ugniježđene petlje.
  • Podržava mnoge tipove podataka kao što su potpisani/nepotpisani cijeli brojevi, tipovi s pomičnim zarezom (float i double), char i varchar, binarni i varbinarni, blob i tekst, datum, vrijeme i vremenska oznaka, godina, skup, enum i prostorni OpenGIS vrste.
  • MySQL također podržava redundantnost podataka i visoku dostupnost (HA) putem master-slave replikacije, više čvorova klasteriranja i sigurnosnog kopiranja i oporavka/vraćanja. Nudi širok raspon tipova i strategija rezervnih kopija od kojih možete odabrati metode koje najbolje odgovaraju zahtjevima vaše implementacije.
  • Njegove sigurnosne značajke uključuju upravljanje korisničkim računom i kontrolu pristupa, verifikaciju zasnovanu na hostu, šifrirane veze, nekoliko komponenti i dodataka (kao što su dodaci za autentifikaciju, dodaci za kontrolu veze, komponenta za provjeru lozinke i još mnogo toga) koji implementiraju sigurnost, kao i FIPS (Federalni standardi za obradu informacija 140-2 (FIPS 140-2)) način rada na strani servera koji se primjenjuje na kriptografske operacije koje obavlja server.

Osim toga, možete osigurati i dodatnu sigurnost slijedeći MySQL/MariaDB sigurnosne najbolje prakse za Linux. Ali kao i uvijek, uvjerite se da ste implementirali dobru sigurnost mreže i servera, kako biste osigurali sveobuhvatnu sigurnost servera baze podataka.

MySQL klijent i alati

MySQL se isporučuje sa nekoliko klijentskih programa kao što su popularni uslužni programi komandne linije: mysql, mysqladmin i mysqldump, za administriranje baza podataka. Za povezivanje na MySQL server, klijenti mogu koristiti nekoliko protokola, na primjer, TCP/IP utičnice na bilo kojoj platformi ili UNIX domenske utičnice na UNIX sistemima kao što je Linux.

Za povezivanje i izvršavanje MySQL naredbi iz drugog jezika ili okruženja, postoje MySQL konektori zasnovani na standardima (koji obezbeđuju povezivanje sa MySQL serverom za klijentske aplikacije) i API-ji za najpopularnije programske jezike (za obezbeđivanje pristupa na niskom nivou MySQL resursima koristeći bilo klasični MySQL protokol ili X protokol).

Neki od popularnih konektora i API-ja uključuju ODBC (Open Database Connectivity), Java (JDBC – Java Database Connectivity), Python, PHP, Node.js, C++, Perl, Ruby i izvorni C i ugrađene MySQL instance.

Naći ćete korisne sljedeće članke o MySQL-u:

  • Kako instalirati najnoviji MySQL 8 na Debian 10
  • 15 korisnih savjeta za podešavanje i optimizaciju performansi MySQL/MariaDB
  • Korisni savjeti za rješavanje uobičajenih grešaka u MySQL-u
  • Kako resetirati root lozinku u MySQL 8.0
  • Kako promijeniti zadani MySQL/MariaDB port u Linuxu
  • 4 korisna alata komandne linije za nadgledanje performansi MySQL u Linuxu