MySQL on üks po­pu­laar­se­maid avatud läh­te­koo­diga and­me­baase. See on tuntud oma jõudluse, usal­dus­väär­suse ja ska­lee­ri­ta­vuse poolest ning seda ka­su­ta­takse paljudes eri­ne­va­tes vald­kon­da­des, alates väi­ke­s­test vee­bi­ma­ju­tus­süs­teemi­dest kuni suurte et­te­võ­teteni. Käes­ole­vas artiklis selgitame samm-sammult, kuidas ins­tal­lida MySQL Ubuntu 20.04-le, et saaksite luua usal­dus­väärse and­me­ba­asi hal­dus­süs­teemi.

Millised on MySQLi Ubuntu 20.04-le ins­tal­li­mise nõuded?

MySQLi ins­tal­li­miseks Ubuntu 20.04-le on suh­te­li­selt vähe süs­tee­mi­nõu­deid, mis peaksid olema täidetud enamikus kaas­aeg­se­tes laua- ja ser­ve­ri­süs­teemi­des. Oluline on märkida, et nõuded võivad erineda sõltuvalt and­me­ba­asi ka­van­da­tud ots­tar­best ja ulatusest. Näiteks kui soovite käivitada in­ten­siiv­set rakendust, mis kasutab suuri and­me­baase või keerukaid päringuid, on hea jõudluse ta­ga­miseks vajalik RAM-mälu ja tööt­le­mis­võim­sus suurem. Samuti peaks teil olema piisavalt ruumi kõ­va­ket­tal, et või­mal­dada tulevast kasvu ja uute and­me­baaside lisamist.

Kont­rol­lige oma võr­gu­kon­fi­gu­rat­siooni ja tulemüüri seadeid, et tagada sujuv side MySQL-serveri ja klientide vahel. MySQL-serveril peaks olema staa­ti­line IP-aadress, et vältida ühen­dus­prob­leeme.

Siin on MySQLi ins­tal­li­mise mii­ni­mum­nõu­ded:

  • Prot­ses­sor (CPU): x86-64 ar­hi­tek­tuur, min. 1 GHz (ka­he­tuuma­line)
  • RAM: min. 1 GB
  • Ope­rat­sioo­ni­süs­teem: Ubuntu 20.04, ka­su­ta­ja­konto sudo ja root õigustega
  • Tulemüür: MySQL port 3306 avatud
  • Kõvaketta ruum: min. 500 MB
  • In­ter­ne­ti­ühen­dus: vajalik pakettide al­la­laa­di­miseks ja MySQL-serveriga ühenduse loomiseks

Juhend MySQLi ins­tal­li­miseks Ubuntu 20.04-le samm-sammult

MySQLi saab Ubuntu 20.04-le ins­tal­lida pakettide haldamise süsteemi APT (Advanced Package Tool) abil. Pärast ins­tal­li­mist tuleb see sea­dis­tada ja kon­fi­gu­ree­rida, milleks on vaja root-parooli ja juur­de­pääsu välistele klien­ti­dele. Allpool näitame samm-sammult, kuidas ins­tal­lida MySQL Ubuntu 20.04-le.

1. samm: Pa­ke­ti­in­deksi uuen­da­mine

Esiteks on hea mõte veenduda, et teie pakettide nimekiri on ajakohane. Selleks võite kasutada järgmist käsku:

$ sudo apt update
bash

2. samm: MySQL-serveri ins­tal­li­mine

Seejärel ins­tal­lige MySQL serveri pakett APT-ga:

$ sudo apt install mysql-server
bash

Selleks, et kont­rol­lida, kas server töötab, võite selle käsitsi käivitada käsuga systemctl.

$ sudo systemctl start mysql.service
bash

3. samm: MySQLi kon­fi­gu­ree­ri­mine

MySQL ei vasta kohe pärast ins­tal­li­mist soo­vi­ta­ta­va­tele tur­va­stan­dar­di­tele. Selle probleemi la­hen­da­miseks kasutage MySQLi pakutavat skripti, et muuta seadeid serveri paremaks kaits­miseks. See seab root-parooli, eemaldab ano­nüüm­sed kasutajad ja piirab kaug­juur­de­pääsu.

Skripti kor­rekt­seks käi­vi­ta­miseks peate võtma teatavaid et­te­vaa­tus­abi­nõusid. Rakendus soovib muuta root-konto parooli, mis on Ubuntu süsteemis vaikimisi deak­ti­vee­ri­tud. Veatõrke väl­ti­miseks peate kohandama root-ka­su­ta­jate au­ten­ti­mis­mee­to­dit.

Selleks käivitage MySQL-i käsurea:

$ sudo mysql
bash

Kasutage käsku ALTER USER, et määrata root-ka­su­tajale parool:

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

Sulge MySQL-i kä­su­reaaken:

mysql> exit
bash

Käivita tur­vas­k­ript:

$ sudo mysql_secure_installation
bash

Root-kasutaja au­ten­ti­miseks sisestage järgmine käsk:

$ mysql -u root -p
bash

Pärast skripti lõ­pe­ta­mist saate stan­dardse au­ten­ti­mis­mee­todi uuesti muuta:

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

See võimaldab teil uuesti ühenduda sudo mysql käsuga.

4. samm: MySQL-ka­su­ta­jate sea­dis­ta­mine

MySQLi ins­tal­li­mine loob juur­ka­su­taja, kellel on kõik MySQLi serveri õigused ja täielik kontroll and­me­baaside, tabelite ja ka­su­ta­jate üle. Tur­va­li­suse suu­ren­da­miseks peaksite looma kasutaja, kellel on piiratud õigused.

Selleks avage MySQL-i käsurea:

$ sudo mysql
bash

Kui olete au­ten­ti­mis­mee­to­diks määranud parooli, kasutage järgmist:

$ mysql -u root -p
bash

Looge nüüd uus kasutaja MySQL-ile:

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

Sisestage oma ka­su­ta­ja­nimi „username” asemel ja oma hosti nimi „host” asemel. Kui kasutate Ubuntu ko­ha­li­kult, kirjutage localhost. Väljend „WITH aut­hen­tica­tion_plugin” on va­li­ku­line. Plugin „auth_socket” on tugeva tur­va­li­su­sega ja ei nõua sis­se­lo­gi­miseks parooli.

Kui ei ole teisiti märgitud, kasutab MySQL au­ten­ti­miseks pluginat „caching_sha2_password”. Mõned PHP ver­sioo­nid ei ole sellega aga ühilduvad. Selle asemel võite kasutada tõestatud ja usal­dus­väär­set pluginat „mysql_native_password”:

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

Või kasutage ole­mas­oleva kasutaja jaoks funkt­siooni „alter”:

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

5. samm: Õiguste määramine

Nüüd on aeg määrata, millised õigused uuel kasutajal on. Selleks ka­su­ta­takse järgmist süntaksit:

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

Õigused eral­da­takse komaga. Glo­baal­sete õiguste andmiseks asenda „database.table” tärniga „*”.

Järgmises näites anname ka­su­tajale õiguse luua (CREATE), muuta (ALTER) ja kustutada (DROP) and­me­baase ning lisada (INSERT), valida (SELECT), uuendada (UPDATE) ja kustutada (DELETE) andmeid tabelis.

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

„WITH GRANT OPTION” annab ka­su­tajale õiguse anda oma õigused teistele ka­su­ta­ja­tele.

Tühjenda nüüd vahemälu käsuga „FLUSH PRI­VI­LE­GES”:

mysql> FLUSH PRIVILEGES;
bash

Seejärel võite MySQL-i käsurea sulgeda:

mysql> exit
bash

Nüüd saate sisse logida uue ka­su­ta­ja­ni­mega:

$ mysql -u username -p
bash

6. samm: MySQLi testimine

Kont­rol­lige, kas MySQL töötab kor­rekt­selt, näiteks süs­tee­mi­hal­duri Systemd abil:

$ systemctl status mysql.service
bash

Al­ter­na­tiivina võite ühenduda MySQL-i and­me­baasiga. Järgmine käsk logib teid MySQL-i sisse ja kuvab serveri versiooni:

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