Što je MySQL? Kako radi MySQL?


MySQL je najpopularniji svjetski sustav za upravljanje relacijskom bazom podataka otvorenog koda (RDBMS) koji se koristi u tvrtkama Facebook, Google, Adobe, Alcatel Lucent i Zappos, i mnogim internetskim stranicama/aplikacijama.

Razvija ga, distribuira i podržava Oracle Corporation. To je moćna, fleksibilna i proširiva relacijska baza podataka koja se temelji na SQL (Structured Query Language) standardiziranom jeziku koji se koristi za stvaranje i rukovanje bazama podataka.

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

Preuzmite MySQL

  • Preuzmite MySQL Community Edition
  • Preuzmite MySQL Enterprise Edition

Softver baze podataka MySQL otvorenog je koda, koristi GPL (GNU Opća javna licenca). Ono što je važno, nudi se u dva različita izdanja: MySQL Community Server otvorenog koda koji možete preuzeti, pristupiti izvornom kodu i koristiti ga besplatno i vlasnički MySQL Enterprise izdanje i druge komercijalne proizvode koji zahtijevaju godišnju pretplatu, a uključuju profesionalnu podršku i mnoge druge pogodnosti.

MySQL koristi se za širok raspon svrha, uključujući web bazu podataka (najčešća uporaba), skladištenje podataka, e-trgovinu i aplikacije za bilježenje. To je jedan od najčešće instaliranih softvera za postavljanje LAMP (Linux + Apache + MySQL + PHP) ili LEMP (Linux + Engine-X + MySQL + PHP ) skup koji se koristi za web razvoj i hosting online sustava za upravljanje sadržajem 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 itd.

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

  • Kako instalirati LAMP poslužitelj na CentOS 8
  • Kako instalirati LEMP poslužitelj na CentOS 8
  • Kako instalirati LAMP Stack s PhpMyAdmin u Ubuntu 20.04
  • Kako instalirati LEMP Stack s PhpMyAdmin u Ubuntu 20.04
  • Kako instalirati WordPress s Apacheom u Ubuntu 20.04

Kako radi MySQL?

Kao i većina sustava za upravljanje bazom podataka, MySQL ima arhitekturu klijent-poslužitelj i može se koristiti u umreženom okruženju. Poslužiteljski program nalazi se na istom fizičkom ili virtualnom sustavu gdje su pohranjene datoteke baze podataka i odgovoran je za sve interakcije s bazama podataka.

Razni klijentski programi kao što su MySQL alati za administraciju baze podataka ili bilo koje aplikacije koje su napisane u drugim programskim jezicima, mogu se povezati s poslužiteljem i slati zahtjeve za bazom podataka. Poslužitelj obrađuje klijentske zahtjeve i vraća rezultate natrag klijentu.

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

Ključne značajke MySQL-a

MySQL koristi višeslojni dizajn poslužitelja s neovisnim modulima. Poslužitelj je multi-threaded, višekorisnički, skalabilan i robusno dizajniran za kritične proizvodne sustave s velikim opterećenjem. Omogućuje i transakcijske i netransakcijske mehanizme za pohranu i podržava dodavanje drugih mašina za pohranu.

  • MySQL koristi vrlo brze tablice B-stabla s kompresijom indeksa, vrlo brz sustav dodjele memorije temeljen na nitima i izvršava vrlo brza spajanja pomoću optimiziranog spajanja ugniježđene petlje.
  • Podržava mnoge vrste podataka kao što su cijeli brojevi s predznakom/nepredznakom, tipovi s pomičnim zarezom (float i double), char i varchar, binarni i varbinarni, blob i tekst, datum, datumvrijeme i vremenska oznaka, godina, skup, enum i prostorni OpenGIS vrste.
  • MySQL također podržava redundantnost podataka i visoku dostupnost (HA) putem replikacije master-slave, klasteriranja s više čvorova i sigurnosnog kopiranja i oporavka/vraćanja. Nudi širok raspon vrsta i strategija sigurnosnog kopiranja među kojima možete odabrati metode koje najbolje odgovaraju zahtjevima za vašu implementaciju.
  • Njegove sigurnosne značajke uključuju upravljanje korisničkim računom i kontrolu pristupa, provjeru temeljenu na hostu, šifrirane veze, nekoliko komponenti i dodataka (kao što su dodaci za autentifikaciju, dodaci za kontrolu veze, komponenta za provjeru valjanosti lozinke i još mnogo toga) koji implementiraju sigurnost, kao i FIPS (Savezni standardi obrade informacija 140-2 (FIPS 140-2)) način na strani poslužitelja koji se odnosi na kriptografske operacije koje izvodi poslužitelj.

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

MySQL klijent i alati

MySQL se isporučuje s nekoliko klijentskih programa kao što su popularni pomoćni programi naredbenog retka: mysql, mysqladmin i mysqldump, za administriranje baza podataka. Za povezivanje s MySQL poslužiteljem, klijenti mogu koristiti nekoliko protokola, na primjer, TCP/IP utičnice na bilo kojoj platformi ili UNIX domenske utičnice na UNIX sustavima poput Linuxa.

Za povezivanje i izvršavanje MySQL naredbi iz drugog jezika ili okruženja, postoje MySQL konektori temeljeni na standardima (koji omogućuju povezivanje s MySQL poslužiteljem za klijentske aplikacije) i API-ji za većinu popularnih programskih jezika (za pružanje pristupa niske razine MySQL resursima pomoću 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 te izvorni C i ugrađene MySQL instance.

Sljedeći će vam članci o MySQL-u biti korisni:

  • 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 pogrešaka u MySQL-u
  • Kako resetirati root lozinku u MySQL 8.0
  • Kako promijeniti zadani MySQL/MariaDB port u Linuxu
  • 4 korisna alata naredbenog retka za praćenje MySQL performansi u Linuxu