tukiverkko
asenna mysql-palvelin Ubuntu-käyttöjärjestelmään
viimeksi päivitetty: 2019-12-20
kirjoittaja: Jered Heeschen
MySQL on avoimen lähdekoodin relaatiotietokanta, joka on ilmainen ja laajalti käytetty. Se on hyvä valinta, jos tiedät, että tarvitset tietokannan, mutta et tiedä paljoa kaikista käytettävissä olevista vaihtoehdoista.
tässä artikkelissa kuvataan MySQL-tietokantapalvelimen perusasennusta Ubuntu-käyttöjärjestelmään. Saatat joutua asentamaan muita paketteja, jotta sovellukset voivat käyttää MySQL: ää, kuten PHP: n laajennukset. Tarkista lisätietoja hakemuksestasi.
asenna mysql
asenna mysql-palvelin Ubuntu-käyttöjärjestelmän paketinhallinnan avulla:
sudo apt-get updatesudo apt-get install mysql-server
asennusohjelma asentaa MySQL ja kaikki riippuvuudet.
jos secure installation utility ei käynnisty automaattisesti asennuksen päätyttyä, anna seuraava komento:
sudo mysql_secure_installation utility
tämä apuohjelma kehottaa sinua määrittelemään MySQL-juurisanan ja muut tietoturvaan liittyvät vaihtoehdot, mukaan lukien juurikäyttäjän etäapulaitteiden poistaminen ja juurisalasanan asettaminen.
salli etäkäyttö
jos iptables on käytössä ja haluat muodostaa yhteyden MySQL-tietokantaan toiselta koneelta, sinun on avattava portti palvelimesi palomuurissa (oletusaukko on 3306). Sinun ei tarvitse tehdä tätä, Jos sovellus, joka käyttää MySQLis käynnissä samalla palvelimella.
suorita seuraava komento, joka mahdollistaa etäkäytön mysql-palvelimelle:
sudo ufw enablesudo ufw allow mysql
Käynnistä MySQL-palvelu
asennuksen jälkeen voit käynnistää tietokantapalvelun byrunning seuraavan komennon. Jos palvelu on jo aloitettu, viestissä ilmoitetaan, että palvelu on jo käynnissä.:
sudo systemctl start mysql
Käynnistä uudelleenkäynnistyksessä
varmistaakseen, että tietokantapalvelin käynnistyy uudelleenkäynnistyksen jälkeen, suorita seuraava komento:
sudo systemctl enable mysql
Configure interfaces
MySQL, oletuksena ei ole enää sidottu (kuuntelee ) mihinkään etäyhteydet.Muokkaa ”bind-address” direktiivin / etc/mysql / mysql.conf.d / mysqld.cnf:
bind-address= 127.0.0.1 ( The default. )bind-address= XXX.XXX.XXX.XXX ( The ip address of your Public Net interface. )bind-address= ZZZ.ZZZ.ZZZ.ZZZ ( The ip address of your Service Net interface. )bind-address= 0.0.0.0 ( All ip addresses. )
Käynnistä MySQL-palvelu uudelleen.
sudo systemctl restart mysql
Käynnistä MySQL-komentotulkki
MySQL-palvelimella voi työskennellä useammalla kuin yhdellä tavalla, mutta tämä artikkeli keskittyy kaikkein alkeellisimpaan ja yhteensopivaan lähestymistapaan, mysql
komentotulkkiin.
-
suorita komentokehotteessa seuraava komento käynnistääksesi
mysql
komentotulkin ja kirjoita se pääkäyttäjäksi:/usr/bin/mysql -u root -p
-
kun sinulta kysytään salasanaa, anna se, jonka asetat asennusaikaan, tai jos et ole asettanut sitä, paina Enter lähettääksesi nopasswordin.
seuraavan
mysql
komentotulkin kehote tulisi ilmestyä:mysql>
Aseta juurisalasana
Jos kirjauduit sisään syöttämällä tyhjän salasanan tai jos haluat muuttaa asettamaasi juurisanaa, voit luoda tai vaihtaa salasanan.
-
MySQL 5.7: ää varhaisemmissa versioissa kirjoita seuraava komento
mysql
komentotulkkiin, korvaapassword
uudella salasanallasi:UPDATE mysql.user SET Password = PASSWORD('password') WHERE User = 'root';
versiolle MySQL 5.7 ja uudemmalle, kirjoita seuraava komento
mysql
komentotulkkiin ja korvaapassword
uudella salasanallasi:UPDATE mysql.user SET authentication_string = PASSWORD('password') WHERE User = 'root';
-
jotta muutos tulisi voimaan, lataa tallennetut käyttäjätiedot uudelleen seuraavalla komennolla:
FLUSH PRIVILEGES;
Huomautus: käytämme all-caps SQL-komentoja. Jos kirjoitat käskyt pienillä kirjaimilla, ne toimivat. Käytäntöjen mukaan komennot kirjoitetaan kaikilla kirjaimilla, jotta ne erottuisivat kenttien nimistä ja muista manipuloitavista tiedoista.
jos haluat palauttaa root salasana myöhemmin, Katso Nollaa MySQL root salasana.
Katselukäyttäjät
MySQL tallentaa käyttäjätiedot omaan tietokantaansa. Tietokannan nimi on mysql. Tietokannan sisällä käyttäjätiedot ovat taulukossa, adataset, nimetty käyttäjä. Jos haluat nähdä, mitä käyttäjiä MySQLuser-taulussa on, suorita seuraava komento:
SELECT User, Host, authentication_string FROM mysql.user;
seuraava luettelo kuvaa komennon osia:
- valitse kertoo MySQL, että pyydät tietoja.
- User, Host, authentication_string kertoo MySQL: lle, mille kentille haluat sen käyttävän. Kentät ovat taulukon tietojen luokkia. Tässä tapauksessa etsit käyttäjänimeä, käyttäjänimeen liittyvää isäntää ja salattua salasanamerkintää.
- MySQL: ltä.käyttäjä ” kertoo MySQL saada tietoja mysqldatabase ja käyttäjän taulukon.
- puolipiste (;) päättää komennon.
huomaa: kaikki SQL-kyselyt päättyvät puolipisteeseen. MySQL ei käsittele queryunt ennen kuin kirjoitat puolipisteen.
User hosts
seuraava esimerkki on edellisen kyselyn tuloste:
SELECT User, Host, authentication_string FROM mysql.user;+------------------+-----------+-------------------------------------------+| User | Host | authentication_string |+------------------+-----------+-------------------------------------------+| root | localhost | *756FEC25AC0E1823C9838EE1A9A6730A20ACDA21 || mysql.session | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE || mysql.sys | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE || debian-sys-maint | localhost | *27E7CA2445405AB10C656AFD0F86AF76CCC57692 |+------------------+-----------+-------------------------------------------+
käyttäjät liittyvät isäntään, erityisesti isäntään, josta he ovat yhteydessä.Tässä esimerkissä pääkäyttäjä määritellään localhostille, localhostin IP-osoitteelle ja palvelimen palvelinnimelle.Käyttäjä on yleensä asetettava vain yhdelle palvelimelle,johon käyttäjä muodostaa yhteyden.
jos käytät sovellustasi samassa tietokoneessa kuin MySQLserver, palvelin, johon se oletusarvoisesti liitetään, on localhost. Kaikki uudet käyttäjät, jotka luot, täytyy olla localhost isäntäkentässään.
jos sovelluksesi muodostaa etäyhteyden, MySQL: n etsimä isäntämerkintä on etätietokoneen IP-osoite tai DNS-isäntänimi (se, josta asiakas on tulossa).
anonyymit käyttäjät
esimerkkitulosteessa yhdellä merkinnällä on isäntäarvo, mutta ei käyttäjätunnusta tai salasanaa.Hän on nimetön käyttäjä. Kun asiakas muodostaa yhteyden ilman käyttäjänimeä, se yrittää muodostaa yhteyden anonyyminä käyttäjänä.
et yleensä halua anonyymeja käyttäjiä, mutta jotkut MySQL-asennukset sisältävät yhden oletuksena. Jos näet yhden, sinun pitäisi joko poistaa Käyttäjä(katso käyttäjätunnus tyhjillä lainausmerkeillä, kuten ’ ’) tai asettaa sille salasana.
Luo tietokanta
tietokantapalvelimen ja tietokannan välillä on ero, vaikka näitä termejä käytetäänkin usein keskenään. MySQL on tietokantapalvelin, eli se jäljittää tietokantoja ja ohjaa pääsyä niihin. Tietokanta tallentaa tiedot, ja se on tietokanta, johon sovellukset yrittävät päästä, kun ne ovat vuorovaikutuksessa MySQL: n kanssa.
Jotkin sovellukset luovat tietokannan osana asennusprosessiaan, mutta toiset vaativat sinua luomaan tietokannan itse ja kertomaan siitä sovellukselle.
luodaksesi tietokannan, Kirjaudu mysql
komentotulkkiin ja suorita seuraava komento,joka korvaa demodb
sen tietokannan nimellä, jonka haluat luoda:
CREATE DATABASE demodb;
kun tietokanta on luotu, voit tarkistaa sen luomisen ajamalla kyselyn tolist kaikki tietokannat. Seuraava esimerkki näyttää kyselyn ja esimerkin tulosteen:
SHOW DATABASES;+--------------------+| Database |+--------------------+| information_schema || demodb || mysql |+--------------------+3 rows in set (0.00 sec)
lisää tietokantakäyttäjä
kun Sovellukset kytkeytyvät tietokantaan pääkäyttäjän avulla, niillä on yleensä enemmän oikeuksia kuin ne tarvitsevat. Voit lisätä käyttäjiä, joiden avulla sovellukset voivat muodostaa yhteyden uuteen tietokantaan. Seuraavassa esimerkissä luodaan demouser-niminen käyttäjä.
-
luoaksesi uuden käyttäjän, suorita seuraava komento
mysql
komentotulkissa:INSERT INTO mysql.user (User,Host,authentication_string,ssl_cipher,x509_issuer,x509_subject)VALUES('demouser','localhost',PASSWORD('demopassword'),'','','');
-
kun teet muutoksia MySQL-tietokannan käyttäjätaulukkoon, kerro MySQL: lle lukea muutokset huuhtelemalla oikeudet seuraavasti:
FLUSH PRIVILEGES;
-
varmista, että käyttäjä luotiin suorittamalla valitse-kysely uudelleen:
SELECT User, Host, authentication_string FROM mysql.user;+------------------+-----------+-------------------------------------------+| User | Host | Password |+------------------+-----------+-------------------------------------------+| root | localhost | *756FEC25AC0E1823C9838EE1A9A6730A20ACDA21 || mysql.session | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE || mysql.sys | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE || debian-sys-maint | localhost | *27E7CA2445405AB10C656AFD0F86AF76CCC57692 || demouser | localhost | *0756A562377EDF6ED3AC45A00B356AAE6D3C6BB6 |+------------------+-----------+-------------------------------------------+
myönnä tietokannan käyttöoikeudet
heti uuden käyttäjän luomisen jälkeen sillä ei ole oikeuksia. Käyttäjä voi kirjautua sisään, mutta sitä ei voi käyttää tietokantamuutosten tekemiseen.
Yhteenveto
jos olet vain luomassa tietokantaa ja käyttäjää, olet mennyttä. Tässä esiteltyjen käsitteiden pitäisi antaa sinulle vankka alku, josta voit oppia lisää.
- Määritä MySQL-palvelin Ubuntu-käyttöjärjestelmässä
- Nollaa MySQL-juurisalasana