Käyttäjien luominen MySQL:ssä
Uuden käyttäjän luomiseksi MySQL:ssä tarvitset riittävät järjestelmänvalvojan oikeudet tai superkäyttäjän oikeudet, joiden avulla voit luoda käyttäjätilejä ja hallita käyttöoikeuksia sekä käyttää kyseistä tietokantaa. Sinun on myös tiedettävä, minkälaista käyttöoikeutta uusi käyttäjä tarvitsee: lukuoikeudet, kirjoitusoikeudet vai jopa järjestelmänvalvojan oikeudet.
MySQL:n CREATE USER -komennon käyttö
Kun asennat tietokannan hallintajärjestelmän, MySQL luo automaattisesti pääkäyttäjätilin. Tämä tili antaa sinulle kattavan hallinnan tietokannoistasi, taulukoistasi ja käyttäjistäsi, mikä mahdollistaa tehokkaan hallinnoinnin. Jos tarvitset apua asennusprosessissa, MySQL-oppaastamme löydät kaikki tarvittavat tiedot.
Juuritililläsi voit luoda lisää käyttäjätilejä tai uusia MySQL-käyttäjiä ja määrittää heille käyttöoikeudet. Ubuntu-järjestelmissä, joissa on MySQL 5.7 tai uudempi versio, MySQL-pääkäyttäjä on oletusarvoisesti määritetty todentamaan itsensä auth_socket salasanan sijaan. Tämä tarkoittaa, että jos MySQL-asiakasta kutsuvan järjestelmän käyttäjän nimi eroaa komennossa määritetyn MySQL-käyttäjän nimestä, sinun on lisättävä komennon eteen sudo, jotta pääset pääkäyttäjätilillesi:
$ sudo mysqlbashVoit luoda uuden käyttäjän MySQL:ssä komennolla CREATE USER. Sen avulla voit luoda käyttäjän, jolla on tietty käyttäjänimi ja salasana:
mysql> CREATE USER 'username'@'host' IDENTIFIED WITH authentication_plugin BY 'password';bashKorvaa username haluamallasi käyttäjänimellä. Kirjoita kohtaan host sen isännän nimi, josta uusi käyttäjä voi muodostaa yhteyden. Jos käyttäjän pitäisi pystyä käyttämään tietokantaa vain paikalliselta Ubuntu-palvelimelta, voit kirjoittaa localhost.
Kun valitset todennuslaajennuksen, sinulla on useita vaihtoehtoja. Laajennus auth_socket tarjoaa korkean turvallisuustason vaatimalla käyttäjiltä salasanan syöttämistä tietokantaan pääsemiseksi. Se kuitenkin rajoittaa etäyhteyksiä, mikä voi vaatia enemmän työtä ulkoisilta ohjelmilta MySQL:n kanssa vuorovaikutuksessa. Vaihtoehtoisesti voit jättää komennon osan WITH authentication_plugin pois ja todentaa käyttäjät MySQL:n vakiolaajennuksella caching_sha2_password. Komento näyttäisi tällöin seuraavalta:
mysql> CREATE USER 'sammy'@'localhost' IDENTIFIED BY 'password';bashKun olet luonut uuden käyttäjän, sinun on määritettävä hänelle käyttöoikeudet.
Kuinka määrittää oikeudet käyttäjille MySQL:ssä
Käyttäjäoikeuksien luominen ja hallinta ovat olennaisia tietoturvan ylläpitämiseksi MySQL:ssä. Yleinen komento käyttäjäoikeuksien määrittämiseen on:
mysql> GRANT PRIVILEGE ON database.table TO 'username'@'host';bashArvo PRIVILEGE määrittää, mitä toimintoja käyttäjä voi suorittaa määritellyssä tietokannassa ja taulukossa. Voit korvata tämän arvon muun muassa seuraavilla komennoilla:
CREATE: Antaa käyttäjille mahdollisuuden luoda tietokannan tai taulukonSELECT: Antaa käyttäjille mahdollisuuden hakea tietojaINSERT: Antaa käyttäjille mahdollisuuden lisätä uusia merkintöjä taulukoihinUPDATE: Antaa käyttäjille mahdollisuuden muokata taulukoiden olemassa olevia merkintöjäDELETE: Antaa käyttäjille mahdollisuuden poistaa taulukon merkintöjäDROP: Antaa käyttäjille mahdollisuuden poistaa kokonaisia tietokantataulukoita
Voit myös myöntää uusille käyttäjille useita oikeuksia kerralla. Tällöin oikeudet on erotettava toisistaan pilkulla:
mysql> GRANT SELECT, INSERT, UPDATE ON database.table TO 'username'@'host';bashKaikkien tietokantojen tai taulukoiden käyttöoikeudet voidaan myöntää myös yhdellä komennolla kirjoittamalla * yksittäisten tietokantojen ja taulukoiden nimien sijaan. Esimerkiksi seuraava komento antaa käyttäjälle oikeuden hakea tietoja (SELECT), lisätä uusia merkintöjä (INSERT) ja muuttaa olemassa olevia merkintöjä (UPDATE) kaikissa tietokannoissa ja taulukoissa.
mysql> GRANT SELECT, INSERT, UPDATE ON *.* TO 'username'@'host';bashKun olet suorittanut CREATE USER tai GRANT komentoa MySQL:ssä, voit käyttää FLUSH PRIVILEGES komentoa tietokannan päivittämiseen. Tämä lataa valtuutustaulukot uudelleen ja varmistaa, että uudet valtuutukset tulevat voimaan:
mysql> FLUSH PRIVILEGES;bashOn kuitenkin tärkeää myöntää käyttäjille vain tarvitsemansa käyttöoikeudet. Jos annat käyttäjälle täyden hallintaoikeuden, se voi aiheuttaa suuren turvallisuusriskin.
Kuinka peruuttaa käyttäjien käyttöoikeudet MySQL:ssä
Komentoa REVOKE käytetään käyttäjäoikeuksien poistamiseen MySQL:ssä. Syntaksi on samanlainen kuin komennolla GRANT. Tällä komennolla on kuitenkin käytettävä FROM TO sijaan:
mysql> REVOKE type_of_permission ON database_name.table_name FROM 'username'@'host';bashVoit näyttää käyttäjän nykyiset käyttöoikeudet komennolla SHOW GRANTS:
mysql> SHOW GRANTS FOR 'username'@'host';bashVoit poistaa käyttäjän DROP -komennolla:
mysql> DROP USER 'username'@'localhost';bashOle erittäin varovainen poistaessasi käyttäjiä, etenkin käyttäjiä, joilla on järjestelmänvalvojan oikeudet. Varmista, että poistat vain käyttäjiä, jotka todella haluat poistaa, jotta vältät tahattoman tietojen menetyksen.
Kun olet luonut uudet MySQL-käyttäjät ja myöntänyt heille oikeudet, voit poistua MySQL-asiakasohjelmasta:
mysql> exitbash