# Kako namestiti MySQL na Ubuntu 20.04

MySQL je ena najbolj priljubljenih odprtokodnih podatkovnih baz. Znana je po svoji **zmogljivosti, zanesljivosti in prilagodljivosti** ter se uporablja na številnih področjih, od majhnih sistemov za gostovanje spletnih strani do velikih podjetij. V tem članku bomo po korakih razložili, kako namestiti MySQL na Ubuntu 20.04, da boste lahko vzpostavili zanesljiv sistem za upravljanje podatkovnih baz.

## Kakšne so zahteve za namestitev MySQL na Ubuntu 20.04?

Za namestitev MySQL na Ubuntu 20.04 je relativno malo sistemskih zahtev, ki naj bi bile izpolnjene na večini sodobnih namiznih in strežniških sistemov. Pomembno je omeniti, da se zahteve lahko razlikujejo glede na namen in obseg baze podatkov. Če na primer želite izvajati intenzivno aplikacijo, ki uporablja **velike baze podatkov ali zapletena poizvedovanja**, bo za zagotovitev dobrega delovanja potrebno več pomnilnika RAM in procesorske moči. Prav tako morate imeti dovolj prostora na trdem disku, da omogočite prihodnjo rast in dodajanje več baz podatkov.

Preverite **konfiguracijo omrežja in nastavitve požarnega zidu**, da zagotovite nemoteno komunikacijo med strežnikom MySQL in odjemalci. Strežnik MySQL mora imeti statični IP-naslov, da se izognete morebitnim težavam s povezavo.

Tukaj so minimalne zahteve za namestitev MySQL:

- **Procesor (CPU)**: arhitektura x86-64, min. 1 GHz (dvojedrni)
- **RAM**: min. 1 GB
- **Operacijski sistem**: Ubuntu 20.04, uporabniški račun s privilegiji sudo in root
- **Požarni zid**: odprt MySQL vrat 3306
- **Prostor na trdem disku**: min. 500 MB
- **Internetna povezava**: potrebna za prenos paketov in povezavo z MySQL strežnikom

## Podrobna navodila za namestitev MySQL na Ubuntu 20.04

MySQL lahko namestite v Ubuntu 20.04 s pomočjo sistema za upravljanje paketov APT (Advanced Package Tool). Po namestitvi ga morate nastaviti in konfigurirati, za kar potrebujete **geslo root in dostop do zunanjih odjemalcev**. V nadaljevanju vam bomo pokazali, kako korak za korakom namestiti MySQL v Ubuntu 20.04.

### Korak 1: Posodobite indeks paketov

Najprej je dobro preveriti, ali je vaš seznam paketov posodobljen. Za to lahko uporabite naslednji ukaz:

```bash
$ sudo apt update
```

### Korak 2: Namestite strežnik MySQL

Nato namestite paket strežnika MySQL z **APT**:

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

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

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

### Korak 3: Konfigurirajte MySQL

MySQL takoj po namestitvi ne izpolnjuje priporočenih varnostnih standardov. Da bi to popravili, uporabite skript, ki ga ponuja MySQL, da **spremenite nastavitve in tako bolje zaščitite strežnik**. S tem boste nastavili geslo root, odstranili anonimne uporabnike in omejili oddaljeni dostop.

Da bi zagotovili pravilno izvedbo skripta, morate sprejeti določene varnostne ukrepe. Aplikacija bo želela spremeniti geslo za root račun, ki je v Ubuntu privzeto deaktiviran. Da bi se izognili napaki, morate prilagoditi **metodo avtentifikacije root uporabnikov**.

Za to zaženite ukazno vrstico MySQL:

```bash
$ sudo mysql
```

Uporabite ukaz **ALTER USER**, da nastavite geslo za root:

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

Zaprite ukazno vrstico MySQL:

```bash
mysql> exit
```

Izvedite varnostni skript:

```bash
$ sudo mysql_secure_installation
```

Za avtentifikacijo uporabnika root vnesite naslednje:

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

Ko je skript končan, lahko ponovno spremenite standardno metodo avtentifikacije:

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

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

### Korak 4: Nastavite uporabnike MySQL

Namestitev MySQL ustvari uporabnika root, ki ima vse privilegije za strežnik MySQL in popoln nadzor nad bazami podatkov, tabelami in uporabniki. Za povečanje varnosti morate **ustvariti uporabnika z omejenimi privilegiji**.

Za to odprite ukazno vrstico MySQL:

```bash
$ sudo mysql
```

Če ste kot metodo avtentifikacije nastavili geslo, uporabite naslednje:

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

Sedaj ustvarite novega uporabnika za MySQL:

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

Vnesite svoje uporabniško ime na mesto »username« in ime gostitelja na mesto »host«. Če lokalno uporabljate Ubuntu, vpišite **localhost**. Izraz »WITH authentication\_plugin« je neobvezen. Vtičnik »auth\_socket« ima močne varnostne nastavitve in za prijavo ne zahteva gesla.

Če ni drugače navedeno, MySQL za avtentifikacijo uporablja vtičnik „caching\_sha2\_password”. Vendar pa nekatere različice PHP niso združljive z njim. Namesto njega lahko uporabite preizkušen in zanesljiv vtičnik „mysql\_native\_password”:

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

Ali uporabite funkcijo »alter« za obstoječega uporabnika:

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

### Korak 5: Dodelite privilegije

Sedaj je čas, da nastavite, katere privilegije bo imel novi uporabnik. Sintaksa za to je:

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

Privilegiji so ločeni z vejico. Če želite dodeliti **globalne** privilegije, nadomestite »database.table« z zvezdico »\*«.

V naslednjem primeru uporabniku dodelimo dovoljenje za ustvarjanje (CREATE), spreminjanje (ALTER) in brisanje (DROP) podatkovnih baz ter za vstavljanje (INSERT), izbiranje (SELECT), posodabljanje (UPDATE) in brisanje (DELETE) podatkov v tabeli.

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

„Z MOŽNOSTJO PODELITVE“ uporabniku dodeli pravico, da svoje privilegije podeli drugim uporabnikom.

Sedaj izpraznite predpomnilnik z ukazom „FLUSH PRIVILEGES“:

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

Nato lahko zaprete ukazno vrstico MySQL:

```bash
mysql> exit
```

Sedaj se lahko prijavite z novim uporabniškim imenom:

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

### Korak 6: Preizkusite MySQL

Preverite, ali MySQL deluje pravilno, na primer s sistemskim upraviteljem **Systemd**:

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

Alternativno se lahko povežete z MySQL podatkovno bazo. Sledeči ukaz vas prijavi v MySQL in prikaže različico strežnika:

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


This is a markdown version of: [https://www.ionos.com/sl-si/digitalguide/spletne-strani/razvoj-spletnih-strani/namestitev-mysql-na-ubuntu-2004/](https://www.ionos.com/sl-si/digitalguide/spletne-strani/razvoj-spletnih-strani/namestitev-mysql-na-ubuntu-2004/) for AI/LLM consumption.