# Kā izveidot lietotājus MySQL

Lai izveidotu jaunu lietotāju MySQL, jums ir nepieciešamas pietiekamas administratora tiesības vai superlietotāja privilēģijas, kas ļauj izveidot lietotāju kontus un pārvaldīt atļaujas, papildus piekļuvei attiecīgajai datu bāzei. Jums arī jāzina, kāda veida piekļuve ir nepieciešama jaunajam lietotājam, vai tā ir lasīšanas tiesības, rakstīšanas tiesības vai pat administratora tiesības.

## Kā lietot MySQL `CREATE USER` komandu

Instalējot datu bāzes pārvaldības sistēmu, MySQL automātiski izveido **root kontu**. Šis konts nodrošina pilnīgu kontroli pār datu bāzēm, tabulām un lietotājiem, ļaujot efektīvi veikt administrēšanu. Ja nepieciešama palīdzība instalācijas procesā, mūsu MySQL apmācībā ir atrodama visa nepieciešamā informācija.

Ar savu root kontu varat izveidot papildu lietotāju kontus vai jaunus MySQL lietotājus un piešķirt tiem atļaujas. Ubuntu sistēmās ar MySQL 5.7 vai jaunākām versijām MySQL root lietotājs pēc noklusējuma ir konfigurēts tā, lai autentificētos ar `auth_socket` spraudni, nevis paroli. Tas nozīmē, ka, ja sistēmas lietotāja vārds, kas izsauc MySQL klientu, atšķiras no komandā norādītā MySQL lietotāja vārda, jums būs jāpievieno komandai prefikss `sudo`, lai iegūtu piekļuvi savam root kontam:

```bash
$ sudo mysql
```

Lai izveidotu jaunu lietotāju MySQL, izmantojiet komandu `CREATE USER`. Tas ļauj izveidot lietotāju ar konkrētu lietotājvārdu un paroli:

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

Aizstājiet `username` ar savu izvēlēto lietotājvārdu. `host` punktā ievadiet tā servera nosaukumu, no kura jaunais lietotājs varēs izveidot savienojumu. Ja lietotājam ir jābūt piekļuvei datu bāzei tikai no jūsu vietējā Ubuntu servera, varat ievadīt `localhost`.

Izvēloties **autentifikācijas spraudni**, jums ir vairākas iespējas. Spraudne `auth_socket` nodrošina augstu drošību, pieprasot lietotājiem ievadīt paroli, lai piekļūtu datu bāzei. Tomēr tā ierobežo attālinātos savienojumus, kas var radīt papildu grūtības ārējām programmām, kas mijiedarbojas ar MySQL. Alternatīvi, jūs varat izlaist komandas daļu `WITH authentication_plugin`, lai autentificētu lietotājus, izmantojot MySQL standarta spraudni `caching_sha2_password`. Tādā gadījumā komanda izskatītos šādi:

```bash
mysql> CREATE USER 'sammy'@'localhost' IDENTIFIED BY 'password';
```

Kad esat izveidojis jaunu lietotāju, jums ir jāpiešķir viņam atļaujas.

## Kā piešķirt tiesības lietotājiem MySQL

Lietotāju tiesību izveide un pārvaldība ir būtiska, lai uzturētu datu drošību MySQL. Vispārīgā komanda lietotāju tiesību piešķiršanai ir:

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

Vērtība `PRIVILEGE` nosaka, kādas darbības lietotājs var veikt norādītajā datu bāzē un tabulā. Šo vērtību var aizstāt ar šādām komandām, cita starpā:

- `CREATE`: Ļauj lietotājiem izveidot datu bāzi vai tabulu
- `SELECT`: ļauj lietotājiem iegūt datus
- `INSERT`: ļauj lietotājiem pievienot jaunus ierakstus tabulās
- `UPDATE`: ļauj lietotājiem mainīt esošos ierakstus tabulās
- `DELETE`: ļauj lietotājiem dzēst ierakstus tabulās
- `DROP`: ļauj lietotājiem dzēst visas datu bāzes tabulas

Jūs varat arī piešķirt jauniem lietotājiem vairākas privilēģijas vienlaikus. Šādā gadījumā privilēģijas ir jāatdala ar komatu:

```bash
mysql> GRANT SELECT, INSERT, UPDATE ON database.table TO 'username'@'host';
```

**Atļaujas visām datu bāzēm vai tabulām** var piešķirt arī ar vienu komandu, ievadot `*` vietā atsevišķu datu bāzes un tabulu nosaukumu. Piemēram, šī komanda piešķir lietotājam atļauju veikt datu pieprasījumus (`SELECT`), pievienot jaunus ierakstus (`INSERT`) un mainīt esošos ierakstus (`UPDATE`) visās datu bāzēs un tabulās.

```bash
mysql> GRANT SELECT, INSERT, UPDATE ON *.* TO 'username'@'host';
```

Kad esat izpildījis `CREATE USER` vai `GRANT` komandas MySQL, varat izmantot `FLUSH PRIVILEGES` komandu, lai atjauninātu datu bāzi. Tas atkārtoti ielādē autorizācijas tabulas, nodrošinot, ka jaunas autorizācijas tiek ieviestas:

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

Tomēr ir svarīgi piešķirt lietotājiem tikai tās atļaujas, kas viņiem ir nepieciešamas. Ja lietotājam piešķir pilnīgu kontroli, tas var radīt **augstu drošības risku**.

## Kā atcelt lietotāju tiesības MySQL

Komanda `REVOKE` tiek izmantota, lai atceltu lietotāja tiesības MySQL. Sintakse ir līdzīga komandas `GRANT` sintaksei. Tomēr, izmantojot šo komandu, jums ir jāizmanto `FROM`, nevis `TO`:

```bash
mysql> REVOKE type_of_permission ON database_name.table_name FROM 'username'@'host';
```

Lai parādītu lietotāja pašreizējās atļaujas, varat izmantot komandu `SHOW GRANTS`:

```bash
mysql> SHOW GRANTS FOR 'username'@'host';
```

Lai dzēstu lietotāju, varat izmantot komandu `DROP`:

```bash
mysql> DROP USER 'username'@'localhost';
```

Jums jābūt ļoti uzmanīgiem, dzēšot lietotājus, jo īpaši lietotājus ar administratora tiesībām. Lai izvairītos no negribētas datu zaudēšanas, pārliecinieties, ka dzēšat tikai tos lietotājus, kurus patiešām vēlaties dzēst.

Kad esat pabeidzis jaunu MySQL lietotāju izveidi un piešķīris viņiem tiesības, varat iziet no MySQL klienta:

```bash
mysql> exit
```


This is a markdown version of: [https://www.ionos.com/lv-lv/digitalguide/timekla-vietnes/timekla-izstrade/mysql-create-user/](https://www.ionos.com/lv-lv/digitalguide/timekla-vietnes/timekla-izstrade/mysql-create-user/) for AI/LLM consumption.