MySQL on yksi suo­si­tuim­mis­ta avoimen läh­de­koo­din tie­to­kan­nois­ta. Se tunnetaan suo­ri­tus­ky­vys­tään, luo­tet­ta­vuu­des­taan ja skaa­lau­tu­vuu­des­taan, ja sitä käytetään monilla eri aloilla pienistä web-hosting-jär­jes­tel­mis­tä suuriin yri­tyk­siin. Tässä ar­tik­ke­lis­sa selitämme vaihe vaiheelta, kuinka MySQL asen­ne­taan Ubuntu 20.04:ään, jotta voit ottaa käyttöön luo­tet­ta­van tie­to­kan­nan hal­lin­ta­jär­jes­tel­män.

Mitkä ovat MySQL:n asen­ta­mi­sen vaa­ti­muk­set Ubuntu 20.04:lle?

MySQL:n asen­ta­mi­nen Ubuntu 20.04:ään vaatii suh­teel­li­sen vähän jär­jes­tel­mä­vaa­ti­muk­sia, jotka täyttyvät useim­mis­sa ny­ky­ai­kai­sis­sa työpöytä- ja pal­ve­lin­jär­jes­tel­mis­sä. On tärkeää huomata, että vaa­ti­muk­set voivat vaihdella tie­to­kan­nan käyt­tö­tar­koi­tuk­sen ja laajuuden mukaan. Jos esi­mer­kik­si haluat käyttää in­ten­sii­vis­tä so­vel­lus­ta, joka käyttää suuria tie­to­kan­to­ja tai mo­ni­mut­kai­sia kyselyitä, hyvän suo­ri­tus­ky­vyn var­mis­ta­mi­nen vaatii enemmän RAM-muistia ja pro­ses­soin­ti­te­hoa. Ko­va­le­vyl­lä tulisi myös olla riit­tä­väs­ti tilaa tulevan kasvun ja uusien tie­to­kan­to­jen li­sää­mi­sen varalta.

Tarkista verk­koa­se­tuk­set ja pa­lo­muu­rin asetukset var­mis­taak­se­si, että MySQL-pal­ve­li­men ja asiak­kai­den välinen viestintä toimii sujuvasti. MySQL-pal­ve­li­mel­la tulisi olla staat­ti­nen IP-osoite, jotta yh­tey­son­gel­mia ei syntyisi.

Tässä ovat MySQL:n asen­nuk­sen vä­him­mäis­vaa­ti­muk­set:

  • Pro­ses­so­ri (CPU): x86-64-ark­ki­teh­tuu­ri, vähintään 1 GHz (kak­siy­ti­mi­nen)
  • RAM-muisti: vähintään 1 Gt
  • Käyt­tö­jär­jes­tel­mä: Ubuntu 20.04, käyt­tä­jä­ti­li, jolla on sudo- ja root-oikeudet
  • Palomuuri: MySQL-portti 3306 avoinna
  • Kiin­to­le­vy­ti­la: vähintään 500 Mt
  • Internet-yhteys: Tarvitaan pakettien la­taa­mi­seen ja yhteyden muo­dos­ta­mi­seen MySQL-pal­ve­li­meen

Vai­heit­tai­nen opas MySQL:n asen­ta­mi­seen Ubuntu 20.04:ään

MySQL voidaan asentaa Ubuntu 20.04:ään pa­ket­tien­hal­lin­ta­jär­jes­tel­män APT (Advanced Package Tool) avulla. Asen­nuk­sen jälkeen sinun on mää­ri­tet­tä­vä ja kon­fi­gu­roi­ta­va se, mihin tarvitset pää­käyt­tä­jän salasanan ja pääsyn ulkoisiin asiak­kai­siin. Alla näytämme sinulle vaihe vaiheelta, kuinka MySQL asen­ne­taan Ubuntu 20.04:ään.

Vaihe 1: Päivitä pa­ket­ti­ha­ke­mis­to

En­sin­nä­kin on hyvä varmistaa, että pa­ket­ti­luet­te­lo­si on ajan tasalla. Voit käyttää tähän seuraavaa komentoa:

$ sudo apt update
bash

Vaihe 2: Asenna MySQL-palvelin

Seu­raa­vak­si asenna MySQL-pal­ve­lin­pa­ket­ti APT:llä:

$ sudo apt install mysql-server
bash

Voit tarkistaa, että palvelin on käynnissä, käyn­nis­tä­mäl­lä sen ma­nu­aa­li­ses­ti ko­men­nol­la systemctl.

$ sudo systemctl start mysql.service
bash

Vaihe 3: Määritä MySQL

MySQL ei täytä suo­si­tel­tu­ja tur­val­li­suuss­tan­dar­de­ja heti asen­nuk­sen jälkeen. Korjaa tämä käyt­tä­mäl­lä MySQL:n tarjoamaa ko­men­to­sar­jaa, jolla voit muuttaa asetuksia pal­ve­li­men suo­jaa­mi­sek­si paremmin. Tämä asettaa pää­käyt­tä­jän salasanan, poistaa ni­met­tö­mät käyttäjät ja rajoittaa etä­käyt­töä.

Sinun on to­teu­tet­ta­va tiettyjä va­ro­toi­mia var­mis­taak­se­si, että skripti suo­ri­te­taan oikein. Sovellus haluaa muuttaa root-tilin salasanan, joka on ole­tuk­se­na deak­ti­voi­tu Ubuntussa. Virheen vält­tä­mi­sek­si sinun on muu­tet­ta­va root-käyt­tä­jien to­den­nus­me­ne­tel­mää.

Tätä varten käynnistä MySQL-ko­men­to­ke­ho­te:

$ sudo mysql
bash

Käytä ALTER USER -komentoa aset­taak­se­si salasanan root-käyt­tä­jäl­le:

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

Sulje MySQL-ko­men­to­ke­ho­te:

mysql> exit
bash

Suorita suo­jaussk­rip­ti:

$ sudo mysql_secure_installation
bash

Vahvista root-käyttäjä syöt­tä­mäl­lä seuraava komento:

$ mysql -u root -p
bash

Kun skripti on valmis, voit muuttaa va­kio­au­ten­ti­koin­ti­me­ne­tel­män uudelleen:

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

Tämän jälkeen voit muodostaa yhteyden uudelleen sudo mysql -ko­men­nol­la.

Vaihe 4: Määritä MySQL-käyttäjät

MySQL:n asennus luo pää­käyt­tä­jän, jolla on kaikki oikeudet MySQL-pal­ve­li­meen ja täy­del­li­nen hallinta tie­to­kan­nois­ta, tau­lu­kois­ta ja käyt­tä­jis­tä. Tur­val­li­suu­den li­sää­mi­sek­si sinun tulisi luoda käyttäjä, jolla on ra­joi­te­tut oikeudet.

Tätä varten avaa MySQL-ko­men­to­ke­ho­te:

$ sudo mysql
bash

Jos olet asettanut salasanan to­den­nus­me­ne­tel­mäk­si, käytä seuraavaa:

$ mysql -u root -p
bash

Luo nyt uusi käyttäjä MySQL:lle:

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

Kirjoita käyt­tä­jä­tun­nuk­se­si kohtaan “username” ja isäntäsi nimi kohtaan “host”. Jos käytät Ubuntu-käyt­tö­jär­jes­tel­mää pai­kal­li­ses­ti, kirjoita localhost. Ilmaisu “WITH aut­hen­tica­tion_plugin” on va­lin­nai­nen. Plugin “auth_socket” on erittäin tur­val­li­nen eikä vaadi salasanaa kir­jau­tu­mi­seen.

Ellei toisin mainita, MySQL käyttää to­den­nuk­seen caching_sha2_password-laa­jen­nus­ta. Jotkin PHP-versiot eivät kui­ten­kaan ole yh­teen­so­pi­via sen kanssa. Sen sijaan voit käyttää hyväksi todettua mysql_native_password-laa­jen­nus­ta:

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

Tai käytä toimintoa “alter” olemassa olevalle käyt­tä­jäl­le:

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

Vaihe 5: Määritä käyt­tö­oi­keu­det

Nyt on aika määrittää, mitkä oikeudet uudella käyt­tä­jäl­lä on. Syntaksi tähän on:

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

Oikeudet erotetaan toi­sis­taan pilkulla. Jos haluat myöntää yleisiä oikeuksia, korvaa ”database.table” tähdellä ”*”.

Seu­raa­vas­sa esi­mer­kis­sä myönnämme käyt­tä­jäl­le oikeuden luoda (CREATE), muokata (ALTER) ja poistaa (DROP) tie­to­kan­to­ja sekä lisätä (INSERT), valita (SELECT), päivittää (UPDATE) ja poistaa (DELETE) tietoja tau­lu­kos­ta.

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

“WITH GRANT OPTION” antaa käyt­tä­jäl­le luvan myöntää omat oi­keu­ten­sa muille käyt­tä­jil­le.

Tyhjennä nyt vä­li­muis­ti ko­men­nol­la ‘FLUSH PRI­VI­LE­GES’:

mysql> FLUSH PRIVILEGES;
bash

Sen jälkeen voit sulkea MySQL-ko­men­to­ke­hot­teen:

mysql> exit
bash

Nyt voit kirjautua sisään uudella käyt­tä­jä­tun­nuk­sel­la:

$ mysql -u username -p
bash

Vaihe 6: Testaa MySQL

Tarkista, toimiiko MySQL oikein esi­mer­kik­si jär­jes­tel­män­hal­lin­taoh­jel­man Systemd avulla:

$ systemctl status mysql.service
bash

Vaih­toeh­toi­ses­ti voit muodostaa yhteyden MySQL-tie­to­kan­taan. Seuraava komento kirjaa sinut sisään MySQL:ään ja näyttää pal­ve­li­men version:

$ sudo mysqladmin -p -u username version
bash
Siirry pää­va­lik­koon