MySQL je ena najbolj pri­lju­blje­nih od­pr­to­ko­dnih po­dat­kov­nih baz. Znana je po svoji zmo­glji­vo­sti, za­ne­slji­vo­sti in pri­la­go­dlji­vo­sti ter se uporablja na številnih področjih, od majhnih sistemov za go­sto­va­nje spletnih strani do velikih podjetij. V tem članku bomo po korakih razložili, kako namestiti MySQL na Ubuntu 20.04, da boste lahko vzpo­sta­vi­li zanesljiv sistem za upra­vlja­nje po­dat­kov­nih baz.

Kakšne so zahteve za na­me­sti­tev MySQL na Ubuntu 20.04?

Za na­me­sti­tev MySQL na Ubuntu 20.04 je relativno malo sis­tem­skih zahtev, ki naj bi bile iz­pol­nje­ne na večini sodobnih namiznih in stre­žni­ških sistemov. Pomembno je omeniti, da se zahteve lahko raz­li­ku­je­jo glede na namen in obseg baze podatkov. Če na primer želite izvajati in­ten­ziv­no apli­ka­ci­jo, ki uporablja velike baze podatkov ali zapletena po­i­zve­do­va­nja, bo za za­go­to­vi­tev dobrega delovanja potrebno več po­mnil­ni­ka RAM in pro­ce­sor­ske moči. Prav tako morate imeti dovolj prostora na trdem disku, da omogočite prihodnjo rast in dodajanje več baz podatkov.

Preverite kon­fi­gu­ra­ci­jo omrežja in na­sta­vi­tve požarnega zidu, da za­go­to­vi­te nemoteno ko­mu­ni­ka­ci­jo med stre­žni­kom MySQL in odjemalci. Strežnik MySQL mora imeti statični IP-naslov, da se izognete mo­re­bi­tnim težavam s povezavo.

Tukaj so minimalne zahteve za na­me­sti­tev MySQL:

  • Procesor (CPU): ar­hi­tek­tu­ra x86-64, min. 1 GHz (dvojedrni)
  • RAM: min. 1 GB
  • Ope­ra­cij­ski sistem: Ubuntu 20.04, upo­rab­ni­ški račun s pri­vi­le­gi­ji sudo in root
  • Požarni zid: odprt MySQL vrat 3306
  • Prostor na trdem disku: min. 500 MB
  • In­ter­ne­tna povezava: potrebna za prenos paketov in povezavo z MySQL stre­žni­kom

Podrobna navodila za na­me­sti­tev MySQL na Ubuntu 20.04

MySQL lahko namestite v Ubuntu 20.04 s pomočjo sistema za upra­vlja­nje paketov APT (Advanced Package Tool). Po na­me­sti­tvi ga morate nastaviti in kon­fi­gu­ri­ra­ti, za kar po­tre­bu­je­te geslo root in dostop do zunanjih od­je­mal­cev. V na­da­lje­va­nju vam bomo pokazali, kako korak za korakom namestiti MySQL v Ubuntu 20.04.

Korak 1: Po­so­do­bi­te indeks paketov

Najprej je dobro preveriti, ali je vaš seznam paketov po­so­do­bljen. Za to lahko uporabite naslednji ukaz:

$ sudo apt update
bash

Korak 2: Namestite strežnik MySQL

Nato namestite paket strežnika MySQL z APT:

$ sudo apt install mysql-server
bash

Da preverite, ali strežnik deluje, ga lahko ročno zaženete s ukazom systemctl.

$ sudo systemctl start mysql.service
bash

Korak 3: Kon­fi­gu­ri­raj­te MySQL

MySQL takoj po na­me­sti­tvi ne iz­pol­nju­je pri­po­ro­če­nih var­no­stnih stan­dar­dov. Da bi to popravili, uporabite skript, ki ga ponuja MySQL, da spre­me­ni­te na­sta­vi­tve in tako bolje zaščitite strežnik. S tem boste nastavili geslo root, od­stra­ni­li anonimne upo­rab­ni­ke in omejili oddaljeni dostop.

Da bi za­go­to­vi­li pravilno izvedbo skripta, morate sprejeti določene varnostne ukrepe. Apli­ka­ci­ja bo želela spre­me­ni­ti geslo za root račun, ki je v Ubuntu privzeto de­ak­ti­vi­ran. Da bi se izognili napaki, morate pri­la­go­di­ti metodo av­ten­ti­fi­ka­ci­je root upo­rab­ni­kov.

Za to zaženite ukazno vrstico MySQL:

$ sudo mysql
bash

Uporabite ukaz ALTER USER, da nastavite geslo za root:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
bash

Zaprite ukazno vrstico MySQL:

mysql> exit
bash

Izvedite varnostni skript:

$ sudo mysql_secure_installation
bash

Za av­ten­ti­fi­ka­ci­jo upo­rab­ni­ka root vnesite naslednje:

$ mysql -u root -p
bash

Ko je skript končan, lahko ponovno spre­me­ni­te stan­dar­dno metodo av­ten­ti­fi­ka­ci­je:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH auth_socket;
bash

To vam bo omogočilo, da se ponovno povežete z ukazom sudo mysql.

Korak 4: Nastavite upo­rab­ni­ke MySQL

Na­me­sti­tev MySQL ustvari upo­rab­ni­ka root, ki ima vse pri­vi­le­gi­je za strežnik MySQL in popoln nadzor nad bazami podatkov, tabelami in upo­rab­ni­ki. Za povečanje varnosti morate ustvariti upo­rab­ni­ka z omejenimi pri­vi­le­gi­ji.

Za to odprite ukazno vrstico MySQL:

$ sudo mysql
bash

Če ste kot metodo av­ten­ti­fi­ka­ci­je nastavili geslo, uporabite naslednje:

$ mysql -u root -p
bash

Sedaj ustvarite novega upo­rab­ni­ka za MySQL:

mysql> CREATE USER 'username'@'host' IDENTIFIED WITH authentication_plugin BY 'password';
bash

Vnesite svoje upo­rab­ni­ško ime na mesto »username« in ime go­sti­te­lja na mesto »host«. Če lokalno upo­ra­blja­te Ubuntu, vpišite localhost. Izraz »WITH authen­ti­ca­ti­on_plugin« je neobvezen. Vtičnik »auth_socket« ima močne varnostne na­sta­vi­tve in za prijavo ne zahteva gesla.

Če ni drugače navedeno, MySQL za av­ten­ti­fi­ka­ci­jo uporablja vtičnik „caching_sha2_password”. Vendar pa nekatere različice PHP niso zdru­žlji­ve z njim. Namesto njega lahko uporabite pre­iz­ku­šen in zanesljiv vtičnik „mysql_native_password”:

mysql> CREATE USER 'username'@'host' IDENTIFIED WITH mysql_native_password BY 'password';
bash

Ali uporabite funkcijo »alter« za ob­sto­je­če­ga upo­rab­ni­ka:

mysql> ALTER 'username'@'host' IDENTIFIED WITH mysql_native_password BY 'password';
bash

Korak 5: Dodelite pri­vi­le­gi­je

Sedaj je čas, da nastavite, katere pri­vi­le­gi­je bo imel novi uporabnik. Sintaksa za to je:

mysql> GRANT PRIVILEGE ON database.table TO 'username'@'host';
bash

Pri­vi­le­gi­ji so ločeni z vejico. Če želite dodeliti globalne pri­vi­le­gi­je, na­do­me­sti­te »database.table« z zvezdico »*«.

V na­sle­dnjem primeru upo­rab­ni­ku dodelimo do­vo­lje­nje za ustvar­ja­nje (CREATE), spre­mi­nja­nje (ALTER) in brisanje (DROP) po­dat­kov­nih baz ter za vsta­vlja­nje (INSERT), izbiranje (SELECT), po­so­da­blja­nje (UPDATE) in brisanje (DELETE) podatkov v tabeli.

mysql> GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT on *.* TO 'user'@'host' WITH GRANT OPTION;
bash

„Z MOŽNOSTJO PODELITVE“ upo­rab­ni­ku dodeli pravico, da svoje pri­vi­le­gi­je podeli drugim upo­rab­ni­kom.

Sedaj iz­pra­zni­te pred­po­mnil­nik z ukazom „FLUSH PRI­VI­LE­GES“:

mysql> FLUSH PRIVILEGES;
bash

Nato lahko zaprete ukazno vrstico MySQL:

mysql> exit
bash

Sedaj se lahko prijavite z novim upo­rab­ni­škim imenom:

$ mysql -u username -p
bash

Korak 6: Pre­iz­ku­si­te MySQL

Preverite, ali MySQL deluje pravilno, na primer s sis­tem­skim upra­vi­te­ljem Systemd:

$ systemctl status mysql.service
bash

Al­ter­na­tiv­no se lahko povežete z MySQL po­dat­kov­no bazo. Sledeči ukaz vas prijavi v MySQL in prikaže različico strežnika:

$ sudo mysqladmin -p -u username version
bash
Go to Main Menu