MySQL yra viena iš po­pu­lia­riau­sių atviro kodo duomenų bazių. Ji žinoma dėl savo našumo, pa­ti­ki­mu­mo ir mastelio, todėl naudojama įvairiose srityse – nuo mažų ži­nia­tink­lio prie­glo­bos sistemų iki didelių įmonių. Šiame straips­ny­je pa­aiš­kin­si­me, kaip žingsnis po žingsnio įdiegti MySQL Ubuntu 20.04, kad ga­lė­tu­mė­te sukurti patikimą duomenų bazių valdymo sistemą.

Kokie yra rei­ka­la­vi­mai MySQL įdiegimui Ubuntu 20.04?

MySQL įdiegimui Ubuntu 20.04 sistemoje keliamų rei­ka­la­vi­mų yra palyginti nedaug, ir jie turėtų būti įvykdyti daugumoje šiuo­lai­ki­nių stalinių kom­piu­te­rių ir serverių sistemų. Svarbu atkreipti dėmesį, kad rei­ka­la­vi­mai gali skirtis pri­klau­so­mai nuo numatomo duomenų bazės naudojimo tikslo ir apimties. Pa­vyz­džiui, jei norite naudoti in­ten­sy­vią programą, kuri naudoja dideles duomenų bazes ar su­dė­tin­gus už­klau­si­mus, geram veikimui už­tik­rin­ti reikės daugiau RAM ir ap­do­ro­ji­mo galios. Taip pat tu­rė­tu­mė­te turėti pa­kan­ka­mai vietos kietajame diske, kad ateityje ga­lė­tu­mė­te plėstis ir pridėti daugiau duomenų bazių.

Tu­rė­tu­mė­te pa­tik­rin­ti savo tinklo kon­fi­gū­ra­ci­ją ir ug­nia­sie­nės nu­sta­ty­mus, kad už­tik­rin­tu­mė­te sklandų ryšį tarp MySQL serverio ir klientų. MySQL serveris turėtų turėti statinį IP adresą, kad būtų išvengta bet kokių ryšio problemų.

Čia pa­tei­kia­mi minimalūs rei­ka­la­vi­mai MySQL įdiegimui:

  • Pro­ce­so­rius (CPU): x86-64 ar­chi­tek­tū­ra, min. 1 GHz (dviejų bran­duo­lių)
  • RAM: min. 1 GB
  • Operacinė sistema: Ubuntu 20.04, vartotojo paskyra su sudo ir root teisėmis
  • Ug­nia­sie­nė: ati­da­ry­tas MySQL 3306 prievadas
  • Kietojo disko vieta: ma­žiau­siai 500 MB
  • Interneto ryšys: rei­ka­lin­gas paketams at­si­siųs­ti ir pri­si­jung­ti prie MySQL serverio

Žingsnis po žingsnio vadovas, kaip įdiegti MySQL Ubuntu 20.04

MySQL galima įdiegti Ubuntu 20.04 naudojant paketų valdymo sistemą APT (Advanced Package Tool). Po įdiegimo reikia ją nustatyti ir kon­fi­gū­ruo­ti, tam reikės root slap­ta­žo­džio ir prieigos prie išorinių klientų. Toliau pa­teik­si­me išsamius nurodymus, kaip įdiegti MySQL Ubuntu 20.04.

1 žingsnis: At­nau­jin­ki­te paketų indeksą

Pir­miau­sia, patartina įsi­ti­kin­ti, kad jūsų paketų sąrašas yra at­nau­jin­tas. Tam galite naudoti šią komandą:

$ sudo apt update
bash

2 žingsnis: įdiekite MySQL serverį

Toliau įdiekite MySQL serverio paketą naudodami APT:

$ sudo apt install mysql-server
bash

Norėdami pa­tik­rin­ti, ar serveris veikia, galite jį paleisti rankiniu būdu naudodami komandą systemctl.

$ sudo systemctl start mysql.service
bash

3 žingsnis: Kon­fi­gū­ruo­ki­te MySQL

MySQL iš karto po įdiegimo neatitiks re­ko­men­duo­ja­mų saugumo standartų. Norėdami tai ištaisyti, naudokite MySQL siūlomą scenarijų, kad pa­keis­tu­mė­te nu­sta­ty­mus ir geriau ap­sau­go­tu­mė­te serverį. Tai nustatys root slap­ta­žo­dį, pašalins ano­ni­miš­kus var­to­to­jus ir apribos nuotolinę prieigą.

Turėsite imtis tam tikrų atsargumo priemonių, kad už­tik­rin­tu­mė­te, jog sce­na­ri­jus bus vykdomas teisingai. Programa norės pakeisti root paskyros slap­ta­žo­dį, kuris Ubuntu sistemoje yra išjungtas pagal nu­ma­ty­tuo­sius nu­sta­ty­mus. Norėdami išvengti klaidos, turėsite pakeisti root vartotojų au­ten­tiš­ku­mo pa­tvir­ti­ni­mo metodą.

Norėdami tai padaryti, pa­lei­s­ki­te MySQL komandų eilutę:

$ sudo mysql
bash

Naudokite komandą ALTER USER, kad nu­sta­ty­tu­mė­te root slap­ta­žo­dį:

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

Už­da­ry­ki­te MySQL komandų eilutę:

mysql> exit
bash

Vykdykite saugumo scenarijų:

$ sudo mysql_secure_installation
bash

Norėdami pa­tvir­tin­ti root vartotojo tapatybę, įveskite šią komandą:

$ mysql -u root -p
bash

Baigus scenarijų, galite vėl pakeisti stan­dar­ti­nį au­ten­ti­fi­ka­vi­mo metodą:

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

Tai leis jums vėl pri­si­jung­ti naudodami komandą sudo mysql.

4 žingsnis: Nu­sta­ty­ki­te MySQL var­to­to­jus

Įdiegus MySQL, sukuriama root vartotojo paskyra, turinti visas MySQL serverio teises ir visišką kontrolę duomenų bazėse, lentelėse ir vartotojų sąraše. Siekiant padidinti saugumą, reikėtų sukurti vartotoją su ribotomis teisėmis.

Norėdami tai padaryti, ati­da­ry­ki­te MySQL komandų eilutę:

$ sudo mysql
bash

Jei kaip au­ten­ti­fi­ka­vi­mo metodą nustatėte slap­ta­žo­dį, naudokite šią komandą:

$ mysql -u root -p
bash

Dabar sukurkite naują MySQL vartotoją:

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

Įveskite savo vartotojo vardą vietoje „username“ ir savo serverio pa­va­di­ni­mą vietoje „host“. Jei naudojate Ubuntu lokaliai, įrašykite localhost. Išraiška „WITH au­then­ti­ca­tion_plugin“ yra ne­pri­va­lo­ma. Įskiepis „auth_socket“ turi stiprius saugumo nu­sta­ty­mus ir ne­rei­ka­lau­ja slap­ta­žo­džio pri­si­jun­gi­mui.

Jei ne­nu­ro­dy­ta kitaip, MySQL au­ten­ti­fi­ka­vi­mui naudoja „caching_sha2_password“ įskiepį. Tačiau kai kurios PHP versijos nėra su­de­ri­na­mos su juo. Vietoj jo galite naudoti pa­tik­rin­tą ir patikimą įskiepį „mysql_native_password“:

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

Arba naudokite funkciją „alter“ esamam var­to­to­jui:

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

5 žingsnis: Priskirti pri­vi­le­gi­jas

Dabar atėjo laikas nustatyti, kokias teises turės naujas var­to­to­jas. Sintaksė tam yra tokia:

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

Pri­vi­le­gi­jos at­ski­ria­mos kableliu. Norėdami suteikti vi­suo­ti­nes pri­vi­le­gi­jas, pa­kei­s­ki­te „database.table“ žvaigž­du­te „*“.

Šiame pavyzdyje su­tei­kia­me var­to­to­jui leidimą kurti (CREATE), keisti (ALTER) ir trinti (DROP) duomenų bazes bei įterpti (INSERT), atrinkti (SELECT), at­nau­jin­ti (UPDATE) ir trinti (DELETE) duomenis lentelėje.

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

„SU GRANT OPTION“ suteikia var­to­to­jui leidimą suteikti savo pri­vi­le­gi­jas kitiems var­to­to­jams.

Dabar iš­tuš­tin­ki­te talpyklą naudodami komandą „FLUSH PRI­VI­LE­GES“:

mysql> FLUSH PRIVILEGES;
bash

Po to galite uždaryti MySQL komandų eilutę:

mysql> exit
bash

Dabar galite pri­si­jung­ti naudodami naują vartotojo vardą:

$ mysql -u username -p
bash

6 žingsnis: MySQL te­sta­vi­mas

Pa­tik­rin­ki­te, ar MySQL veikia tinkamai, pa­vyz­džiui, naudojant sistemos tvarkyklę Systemd:

$ systemctl status mysql.service
bash

Arba galite pri­si­jung­ti prie MySQL duomenų bazės. Ši komanda pri­si­jun­gia prie MySQL ir rodo serverio versiją:

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