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:
$ sudo mysqlbashLai izveidotu jaunu lietotāju MySQL, izmantojiet komandu CREATE USER. Tas ļauj izveidot lietotāju ar konkrētu lietotājvārdu un paroli:
mysql> CREATE USER 'username'@'host' IDENTIFIED WITH authentication_plugin BY 'password';bashAizstā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:
mysql> CREATE USER 'sammy'@'localhost' IDENTIFIED BY 'password';bashKad 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:
mysql> GRANT PRIVILEGE ON database.table TO 'username'@'host';bashVē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 tabuluSELECT: ļauj lietotājiem iegūt datusINSERT: ļauj lietotājiem pievienot jaunus ierakstus tabulāsUPDATE: ļauj lietotājiem mainīt esošos ierakstus tabulāsDELETE: ļauj lietotājiem dzēst ierakstus tabulāsDROP: ļ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:
mysql> GRANT SELECT, INSERT, UPDATE ON database.table TO 'username'@'host';bashAtļ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.
mysql> GRANT SELECT, INSERT, UPDATE ON *.* TO 'username'@'host';bashKad 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:
mysql> FLUSH PRIVILEGES;bashTomē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:
mysql> REVOKE type_of_permission ON database_name.table_name FROM 'username'@'host';bashLai parādītu lietotāja pašreizējās atļaujas, varat izmantot komandu SHOW GRANTS:
mysql> SHOW GRANTS FOR 'username'@'host';bashLai dzēstu lietotāju, varat izmantot komandu DROP:
mysql> DROP USER 'username'@'localhost';bashJums 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:
mysql> exitbash45d969e266677cabb44ceaf95418e879
bf812055a1ab3935cb15b43974c56856
01524320532809020958f4b5d042b02d
1b67cfdd89611352c3472ca463d3de9f
26285f4721b20b07e60196b9449d21e7