# MySQL:n asentaminen Ubuntu 20.04:ään

MySQL on yksi suosituimmista avoimen lähdekoodin tietokannoista. Se tunnetaan **suorituskyvystään, luotettavuudestaan ja skaalautuvuudestaan**, ja sitä käytetään monilla eri aloilla pienistä web-hosting-järjestelmistä suuriin yrityksiin. Tässä artikkelissa selitämme vaihe vaiheelta, kuinka MySQL asennetaan Ubuntu 20.04:ään, jotta voit ottaa käyttöön luotettavan tietokannan hallintajärjestelmän.

## Mitkä ovat MySQL:n asentamisen vaatimukset Ubuntu 20.04:lle?

MySQL:n asentaminen Ubuntu 20.04:ään vaatii suhteellisen vähän järjestelmävaatimuksia, jotka täyttyvät useimmissa nykyaikaisissa työpöytä- ja palvelinjärjestelmissä. On tärkeää huomata, että vaatimukset voivat vaihdella tietokannan käyttötarkoituksen ja laajuuden mukaan. Jos esimerkiksi haluat käyttää intensiivistä sovellusta, joka käyttää **suuria tietokantoja tai monimutkaisia kyselyitä**, hyvän suorituskyvyn varmistaminen vaatii enemmän RAM-muistia ja prosessointitehoa. Kovalevyllä tulisi myös olla riittävästi tilaa tulevan kasvun ja uusien tietokantojen lisäämisen varalta.

Tarkista **verkkoasetukset ja palomuurin asetukset** varmistaaksesi, että MySQL-palvelimen ja asiakkaiden välinen viestintä toimii sujuvasti. MySQL-palvelimella tulisi olla staattinen IP-osoite, jotta yhteysongelmia ei syntyisi.

Tässä ovat MySQL:n asennuksen vähimmäisvaatimukset:

- **Prosessori (CPU)**: x86-64-arkkitehtuuri, vähintään 1 GHz (kaksiytiminen)
- **RAM-muisti**: vähintään 1 Gt
- **Käyttöjärjestelmä**: Ubuntu 20.04, käyttäjätili, jolla on sudo- ja root-oikeudet
- **Palomuuri**: MySQL-portti 3306 avoinna
- **Kiintolevytila**: vähintään 500 Mt
- **Internet-yhteys**: Tarvitaan pakettien lataamiseen ja yhteyden muodostamiseen MySQL-palvelimeen

## Vaiheittainen opas MySQL:n asentamiseen Ubuntu 20.04:ään

MySQL voidaan asentaa Ubuntu 20.04:ään pakettienhallintajärjestelmän APT (Advanced Package Tool) avulla. Asennuksen jälkeen sinun on määritettävä ja konfiguroitava se, mihin tarvitset **pääkäyttäjän salasanan ja pääsyn ulkoisiin asiakkaisiin**. Alla näytämme sinulle vaihe vaiheelta, kuinka MySQL asennetaan Ubuntu 20.04:ään.

### Vaihe 1: Päivitä pakettihakemisto

Ensinnäkin on hyvä varmistaa, että pakettiluettelosi on ajan tasalla. Voit käyttää tähän seuraavaa komentoa:

```bash
$ sudo apt update
```

### Vaihe 2: Asenna MySQL-palvelin

Seuraavaksi asenna MySQL-palvelinpaketti **APT**:llä:

```bash
$ sudo apt install mysql-server
```

Voit tarkistaa, että palvelin on käynnissä, käynnistämällä sen manuaalisesti komennolla **systemctl**.

```bash
$ sudo systemctl start mysql.service
```

### Vaihe 3: Määritä MySQL

MySQL ei täytä suositeltuja turvallisuusstandardeja heti asennuksen jälkeen. Korjaa tämä käyttämällä MySQL:n tarjoamaa komentosarjaa, jolla **voit muuttaa asetuksia palvelimen suojaamiseksi paremmin**. Tämä asettaa pääkäyttäjän salasanan, poistaa nimettömät käyttäjät ja rajoittaa etäkäyttöä.

Sinun on toteutettava tiettyjä varotoimia varmistaaksesi, että skripti suoritetaan oikein. Sovellus haluaa muuttaa root-tilin salasanan, joka on oletuksena deaktivoitu Ubuntussa. Virheen välttämiseksi sinun on muutettava **root-käyttäjien todennusmenetelmää**.

Tätä varten käynnistä MySQL-komentokehote:

```bash
$ sudo mysql
```

Käytä **ALTER USER** -komentoa asettaaksesi salasanan root-käyttäjälle:

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

Sulje MySQL-komentokehote:

```bash
mysql> exit
```

Suorita suojausskripti:

```bash
$ sudo mysql_secure_installation
```

Vahvista root-käyttäjä syöttämällä seuraava komento:

```bash
$ mysql -u root -p
```

Kun skripti on valmis, voit muuttaa vakioautentikointimenetelmän uudelleen:

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

Tämän jälkeen voit muodostaa yhteyden uudelleen **sudo mysql** -komennolla.

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

MySQL:n asennus luo pääkäyttäjän, jolla on kaikki oikeudet MySQL-palvelimeen ja täydellinen hallinta tietokannoista, taulukoista ja käyttäjistä. Turvallisuuden lisäämiseksi sinun tulisi **luoda käyttäjä, jolla on rajoitetut oikeudet**.

Tätä varten avaa MySQL-komentokehote:

```bash
$ sudo mysql
```

Jos olet asettanut salasanan todennusmenetelmäksi, käytä seuraavaa:

```bash
$ mysql -u root -p
```

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

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

Kirjoita käyttäjätunnuksesi kohtaan “username” ja isäntäsi nimi kohtaan “host”. Jos käytät Ubuntu-käyttöjärjestelmää paikallisesti, kirjoita **localhost**. Ilmaisu “WITH authentication\_plugin” on valinnainen. Plugin “auth\_socket” on erittäin turvallinen eikä vaadi salasanaa kirjautumiseen.

Ellei toisin mainita, MySQL käyttää todennukseen caching\_sha2\_password-laajennusta. Jotkin PHP-versiot eivät kuitenkaan ole yhteensopivia sen kanssa. Sen sijaan voit käyttää hyväksi todettua mysql\_native\_password-laajennusta:

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

Tai käytä toimintoa “alter” olemassa olevalle käyttäjälle:

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

### Vaihe 5: Määritä käyttöoikeudet

Nyt on aika määrittää, mitkä oikeudet uudella käyttäjällä on. Syntaksi tähän on:

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

Oikeudet erotetaan toisistaan pilkulla. Jos haluat myöntää **yleisiä** oikeuksia, korvaa ”database.table” tähdellä ”\*”.

Seuraavassa esimerkissä myönnämme käyttäjälle oikeuden luoda (CREATE), muokata (ALTER) ja poistaa (DROP) tietokantoja sekä lisätä (INSERT), valita (SELECT), päivittää (UPDATE) ja poistaa (DELETE) tietoja taulukosta.

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

“WITH GRANT OPTION” antaa käyttäjälle luvan myöntää omat oikeutensa muille käyttäjille.

Tyhjennä nyt välimuisti komennolla ‘FLUSH PRIVILEGES’:

```bash
mysql> FLUSH PRIVILEGES;
```

Sen jälkeen voit sulkea MySQL-komentokehotteen:

```bash
mysql> exit
```

Nyt voit kirjautua sisään uudella käyttäjätunnuksella:

```bash
$ mysql -u username -p
```

### Vaihe 6: Testaa MySQL

Tarkista, toimiiko MySQL oikein esimerkiksi järjestelmänhallintaohjelman **Systemd** avulla:

```bash
$ systemctl status mysql.service
```

Vaihtoehtoisesti voit muodostaa yhteyden MySQL-tietokantaan. Seuraava komento kirjaa sinut sisään MySQL:ään ja näyttää palvelimen version:

```bash
$ sudo mysqladmin -p -u username version
```


This is a markdown version of: [https://www.ionos.com/fi-fi/digitalguide/verkkosivustot/verkkosivujen-kehittaeminen/mysqln-asentaminen-ubuntu-2004aeaen/](https://www.ionos.com/fi-fi/digitalguide/verkkosivustot/verkkosivujen-kehittaeminen/mysqln-asentaminen-ubuntu-2004aeaen/) for AI/LLM consumption.