MySQL:lle tyypillinen piirre on sen oma suojaus, joka perustuu ulkoiseen suojaukseen. Nykyaikaisena, monipuolisena ja tehokkaana tietokannan hallintajärjestelmänä MySQL:llä on omat työkalunsa käyttäjien hallintaan ja heidän pääsynsä hallitsemiinsa resursseihin.
Jos et tiedä oikeaa käyttäjätunnusta ja salasanaa, tietokantaan pääsy MySQL:n kautta on erittäin vaikeaa.
Normaalissa hosting-tilassa tämä riittää. Odottamattomat tilanteet, hakkerihyökkäykset ja muut ongelmat ovat ulkoisten järjestelmänhallinnan ja turvapalvelujen asia. Tästä käsitteestä on tullut perinteinen, eikä siitä käytännössä keskustella.
Asenna MySQL-palvelin ja root-käyttäjä
Missä tahansa käyttöympäristössä tietokannan hallintajärjestelmä on asennettuna, sillä on aina vähintään yksi käyttäjä: root. Asenna MySQL, luo käyttäjä, jolla on kaikki pääkäyttäjän oikeudet - työskentele ilman tätäpalvelin ei ole mahdollista. Tämän käyttäjän oikeudet riittävät:
- luoda ja hallinnoida uusia käyttäjiä;
- luoda ja hallita tietokantoja.
MySQL:ssä on pohjimmiltaan mahdollista "salasanattomien" käyttäjien olemassaolo, mutta tätä ei voida hyväksyä.
Yleinen käytäntö:
- omaan tietokoneeseen asennettu palvelin, johon hosting voidaan asentaa (paikallinen vaihtoehto);
- palvelin on julkisella isännöinnillä Internetissä.
Ensimmäisessä tapauksessa on mahdollista työskennellä palvelimen kanssa komentoriviltä ja käyttää phpMyAdminia, toisessa tapauksessa vain phpMyAdmin tai vastaavaa työkalua, mutta komentoriville pääsee käsiksi SSH-etäkäytön kautta.
Omat hallintatyökalut
Sukulaistuntemus Unixoid-perheeseen ja Apache-palvelimien menneisyyteen on MySQL:n tunnusmerkki: create user on komentorivi, jolla on outo syntaksi. Linuxin ja vastaavien järjestelmien kanssa työskenteleville ammattilaisille tämä on yhtä tuttua kuin se näyttää hurj alta Windows-käyttäjien silmissä, jotka eivät ole koskaan "astuneet todelliseen elämään".
Käyttäjän luominen alkaa käynnistämällä palvelimen komentorivi. Windows-ympäristössä tämä tehdään seuraavasti.
Ensin (1) sinun on suoritettava komentorivi järjestelmänvalvojana, siirry sitten kansioon, jossa MySQL sijaitsee (2) ja sittenkäynnistä itse palvelin (3):
mysql -u… -p
tässä "-u…" ja "-p" ovat avaimia, jotka osoittavat nimeen "…"=root (tai muuhun nimeen) ja sen salasanaan. Periaatteessa käyttäjä ei saa olla pääkäyttäjä, vaan käyttäjä, jolla on "root" (järjestelmänvalvojan) oikeudet.
Tärkeää: palvelin on itse asiassa aina käynnissä, tässä mysql -u… -p on komento, jolla päästään palvelimeen, ei käynnistä sitä.
Linux-ympäristössä ja vastaavissa järjestelmissä tällainen komento on "natiivi" toiminto ja pääsääntöisesti määritetään yksinkertaisesti käynnistämällä mysqld oikeasta paikasta (oikeasta polusta), tämä tulee tarkistaa ylläpitäjä. Täällä on yleensä eri nimi: ei mysql, vaan mysqld. Myös täällä tämä toiminto ei ole aina kaikkien käyttäjien käytettävissä (käyttöjärjestelmän, ei MySQL-palvelimen). Toisin kuin Windowsissa, järjestys ja turvallisuus ovat Linuxoideissa luonnollinen ja neuvottelematon vaatimus, jota käsitellään aina sivistyneesti.
Joka tapauksessa, kun mysql on käynnistynyt, se ilmoittaa tästä kehotteessa (4):
mysql>
ja on mahdollista työskennellä sekä käyttäjien että tietokantojen kanssa.
Huom. Windows-ympäristöön asennettaessa kaikki: Apache, MySQL, PHP, phpMyAdmin voidaan asettaa oletuspoluille, mutta näille tärkeille työkaluille on suositeltavaa käyttää kompaktimpia ja läheisempiä paikkoja:
- c:\SCiA\Apache;
- c:\SCiA\PHP;
- c:\SCiA\MySQL;
- …
- c:\SCiB\localhost\www\phpMyAdmin;
- c:\SCiB\site1\www;
- c:\SCiB\site2\www;
- …
- c:\SCiB\siteN\www\.
Tämä logiikka ei ainoastaan yksinkertaista hallintoa, vaan myös laajentaa kehittäjän mahdollisuuksia siirtyä tuoteversioiden välillä ja hallita niiden toimintoja.
Työskentely MySQL-komentorivillä
Kun palvelin on vastannut ja antanut komentorivinsä, käyttäjiä voidaan luoda ja niille voidaan määrittää käyttöoikeudet.
Tässä esimerkissä Create user -komento loi käyttäjän Petrov salasanalla 123DFG. Jos komentoa annettaessa tapahtuu virhe, palvelin tarjoaa korjauksen, mutta on parempi olla koskaan tekemättä virheitä työskennellessäsi komentorivillä!
Seuraava komento anna kaikki oikeudet antaa kaikki oikeudet kaikkeen. Huuhtelukomento voidaan jättää pois, mutta se "poppaa" komentojen puskurin, eli se korjaa niiden suorittamisen.
MySQL: luo käyttäjä ja myönnä oikeudet tietokantaan
Esimerkissä käytetty komento:
MYÖNTÄ KAIKKI ETUOIKEUDET.:lle 'Petrov'@'localhost';
itse asiassa antaa käyttäjälle Petrov pääsyn kaikkiin tietokantoihin (ensimmäinen tähti) kaikkiin taulukoihin (toinen tähti).
Yleisenä MySQL-sääntönä käyttäjän luominen on:
GRANT [oikeustyyppi] PÄÄLLÄ [tietokannan nimi].[taulukon nimi] '[käyttäjä]'@'localhost';
Seuraavat oikeudet ovat sallittuja:
- KAIKKI OIKEUDET - kaikki oikeudet.
- CREATE - oikeus luoda uusia taulukoita/tietokantoja.
- DROP - oikeus pudottaa taulukoita/tietokantoja.
- DELETE - oikeus poistaa tietoja taulukoista.
- INSERT - oikeus kirjoittaa tietoja taulukoihin.
- VALITSE - oikeus lukea tietoja taulukoista.
- PÄIVITYS - oikeus päivittää taulukoiden tietoja.
- GRANT OPTION - oikeus työskennellä muiden käyttäjien oikeuksilla.
Käytännön näkökulmasta katsottuna MySQL:ssä "luo käyttäjä" tarkoittaa kolmea vaihtoehtoa oikeuksille:
- kaikki oikeudet kaikkiin tietokantoihin ja kaikkiin käyttäjiin;
- lue ja kirjoita;
- vain luku.
Muita vaihtoehtoja oikeuksien myöntämiseen tarvitaan harvoin. Linux-ympäristössä "lailliselle" vapaudelle (ja välttämättömyydelle) on paljon enemmän perusteita, mutta siellä on paljon enemmän mahdollisuuksia kuin Windowsissa.
MySQL:n "luo käyttäjä" -toiminnon käänteinen toiminta on pudotettu.
pudota käyttäjä 'Petrov'@'localhost';
Tämän komennon suorittamisen jälkeen Petrov ei ole enää käyttäjä ja hänen oikeutensa menetetään. Voit muuttaa oikeuksia komennolla:
REVOKE [etuoikeus] [DB]:lle.[Taulukko] '[käyttäjä]'@'localhost';
Yleinen toiminta MySQL:ssä on käyttäjän luominen tai poistaminen, mutta käyttöoikeuksien muuttaminen on myös kelvollinen toimenpide (harvoin pyydetään).
phpMyAdminin käyttäminen
Tälle upealle työkalulle on monia toteutuksia. Riippuen käytetystä Apache-, PHP- ja MySQL-versiosta, tämän tuotteen oikean version löytäminen kestää usein kauan, mutta kun phpMyAdmin on asennettu onnistuneesti, käyttäjällä on monia käteviä ominaisuuksia ja mukavakäyttöliittymä.
Käyttämällä phpMyAdminia voit käskeä MySQL:ää luomaan käyttäjän mille tahansa isännälle ja hallitsemaan olemassa olevia käyttäjiä lähes kirurgisesti.
phpMyAdmin ei ole ainoa työkalu, jolla on mukava, intuitiivinen ja monipuolinen käyttöliittymä, mutta se on suosituin työkalu MySQL-palvelimien hallintaan.
Tietoja komentoriviltä ja suojauksesta
Tietenkin MySQL-komentorivin käyttö on epämiellyttävää, mutta on syytä muistaa, että joissain tapauksissa vain palvelimen komentorivi voi tallentaa tietokannan tai käyttäjän, varmistaa tiedon tuonnin tai viennin.
Ohjelmistoversiot kehittyvät niin nopeasti, että kehittäjillä ei yksinkertaisesti ole aikaa yhdistää esimerkiksi PHP:n ja MySQL:n, MySQL:n ja phpMyAdminin ominaisuuksia. Jos jotain tapahtuu, komentorivi pelastaa aina päivän.
Ei pidä myöskään koskaan unohtaa: MySQL-hallinta on vain pääsyä sen tietokantoihin ja sen toiminnallisuuden kautta. Tietokantatiedostot ovat käytettävissä MySQL:n ulkopuolella. MySQL:n ja sen hallitsemien resurssien ulkoinen suojaus on todellinen ja tärkeä tarve.