februar 3, 2022

Støttenettverk

Installer MySQL-Server på Ubuntu-operativsystemet

Sist oppdatert: 2019-12-20

Skrevet Av: Jered Heeschen

MySQL Er en åpen kildekode relasjonsdatabase som er gratis og mye brukt. Det isa godt valg hvis du vet at du trenger en database, men vet ikke mye aboutall de tilgjengelige alternativene.

denne artikkelen beskriver en grunnleggende installasjon Av En MySQL-databaseserver på Ubuntu-operativsystemet. Du må kanskje installere andre pakker for å laapplikasjoner bruke MySQL, som utvidelser FOR PHP. Sjekk søknaden dindokumentasjon for detaljer.

Installer MySQL

Installer MySQL-serveren ved å bruke Ubuntu – operativsystempakkebehandleren:

sudo apt-get updatesudo apt-get install mysql-server

installasjonsprogrammet installerer MySQL og alle avhengigheter.

hvis verktøyet for sikker installasjon ikke starter automatisk etter installasjonen er fullført, skriver du inn følgende kommando:

sudo mysql_secure_installation utility

dette verktøyet ber deg om å definere mysql root passwordog andre sikkerhetsrelaterte alternativer, inkludert fjerning av ekstern tilgangtil rotbrukeren og innstilling av rotpassordet.

Tillat ekstern tilgang

hvis du har aktivert iptables og vil koble Til MySQL-databasen fraen annen maskin, du må åpne en port i serverens brannmur (defaultport er 3306). Du trenger ikke å gjøre dette hvis programmet som bruker MySQLis kjører på samme server.

Kjør følgende kommando for å tillate ekstern tilgang til mysql-serveren:

sudo ufw enablesudo ufw allow mysql

Start MySQL-tjenesten

etter at installasjonen er fullført, kan du starte databasetjenesten vedkjører følgende kommando. Hvis tjenesten allerede er startet, en meldinginformerer deg om at tjenesten allerede kjører:

sudo systemctl start mysql

Start ved omstart

for å sikre at databaseserveren starter etter en omstart, kjør følgendekommandoen:

sudo systemctl enable mysql

Konfigurer grensesnitt

MySQL, Som standard er Ikke lenger bundet til (lytter på ) noen eksternt tilgjengelige grensesnitt.Rediger» bind-adresse » – direktivet i / 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. )

Start mysql-tjenesten på nytt.

sudo systemctl restart mysql

Start mysql-skallet

Det er mer enn en måte å jobbe Med En MySQL-server, men denne artikkelen fokuserer på den mest grunnleggende og kompatible tilnærmingen, mysql skallet.

  1. ved ledeteksten kjører du følgende kommando for å starte mysql – skallet og skriver det inn som rotbruker:

    /usr/bin/mysql -u root -p
  2. når du blir bedt om et passord, skriver du inn det du angir tilinstallasjonstid, eller hvis du ikke har angitt En, trykker Du Enter for å sende nopassword.

    følgende mysql shell prompt skal vises:

    mysql>

Angi rotpassordet

hvis du logget inn ved å skrive inn et tomt passord, eller hvis du vil endre rootpassordet du angir, kan du opprette eller endre passordet.

  1. for versjoner tidligere Enn MySQL 5.7, skriv inn følgende kommando i skallet mysql, erstatt password med ditt nye passord:

    UPDATE mysql.user SET Password = PASSWORD('password') WHERE User = 'root';

    For Versjon MySQL 5.7 og senere, skriv inn følgende kommando i skallet mysql, erstatt password med ditt nye passord:

    UPDATE mysql.user SET authentication_string = PASSWORD('password') WHERE User = 'root';
  2. for å få endringen til å tre i kraft, last inn den lagrede brukerinformasjonen med følgende kommando:

    FLUSH PRIVILEGES;

    Merk: Vi bruker all-caps FOR SQL-kommandoer. Hvis du skriver thosecommands i små bokstaver, vil de fungere. Ved konvensjon, kommandoene arewritten i all-caps for å gjøre dem skiller seg ut fra feltnavn og otherdata som blir manipulert.

Hvis du må tilbakestille rotpassordet senere, kan Du Se Tilbakestille Et MySQL-rotpassord.

Vis brukere

MySQL lagrer brukerinformasjonen i sin egen database. Navnet på databasener mysql. Inne i databasen er brukerinformasjonen i en tabell, adataset, navngitt bruker. Hvis du vil se hvilke brukere som er satt opp I MySQLuser-tabellen, kjør følgende kommando:

SELECT User, Host, authentication_string FROM mysql.user;

følgende liste beskriver delene av denne kommandoen:

  • VELG forteller MySQL at du ber om data.
  • Bruker, Vert, authentication_string forteller MySQL hvilke felt du vil se på. Felt er kategorier for dataene i en tabell. I dette tilfellet ser du etter brukernavnet, verten som er knyttet til brukernavnet, ogkryptert passordoppføring.
  • fra mysql.bruker » forteller MySQL å få data fra mysqldatabase og brukertabellen.
  • et semikolon (;) avslutter kommandoen.

Merk: ALLE SQL-spørringer slutter i semikolon. MySQL behandler ikke et spørsmåltil du skriver et semikolon.

bruker verter

følgende eksempel er utdataene for forrige spørring:

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 |+------------------+-----------+-------------------------------------------+

Brukere er knyttet til en vert, spesielt verten som de kobler til.Rotbrukeren i dette eksemplet er definert for localhost, FOR IP-adressen til localhost og vertsnavnet til serveren.Du må vanligvis sette en bruker for bare en vert, den som duvanligvis koble til.

hvis du kjører programmet på samme datamaskin som MySQLserver, er verten som den kobler til som standard localhost. Eventuelle newusers som du oppretter, må ha localhost i vertsfeltet.

hvis programmet kobles eksternt, er vertsoppføringen Som MySQL ser etterer IP-adressen eller DNS-vertsnavnet til den eksterne datamaskinen(den fra hvilkenklienten kommer).

Anonyme brukere

i eksempelutgangen har en oppføring en vertsverdi, men ingen brukernavn eller passord.Det er en anonym bruker. Når en klient kobler seg til uten brukernavn angitt,prøver den å koble til som en anonym bruker.

du vil vanligvis ikke ha noen anonyme brukere, men noen MySQL-installasjonerinkludere en som standard. Hvis du ser en, bør du enten slette brukeren(se brukernavnet med tomme anførselstegn, som ‘ ‘) eller angi et passord for det.

Opprett en database

det er en forskjell mellom en databaseserver og en database, selv omde begrepene brukes ofte om hverandre. MySQL er en databaseserver, noe som betyr detsporer databaser og styrer tilgangen til dem. Databasen lagrer dataene, ogdet er databasen som applikasjoner prøver å få tilgang til når De samhandler med MySQL.

Noen programmer oppretter en database som en del av oppsettprosessen, men andrekrever at du selv lager en database og fortellsøknad om det.

for å opprette en database, logg inn på mysql shell og kjør følgende kommando, erstatt demodb med navnet på databasen du vil opprette:

CREATE DATABASE demodb;

når databasen er opprettet, kan du bekrefte opprettelsen ved å kjøre en spørring tilliste alle databaser. Følgende eksempel viser spørringen og eksempelutgangen:

SHOW DATABASES;+--------------------+| Database |+--------------------+| information_schema || demodb || mysql |+--------------------+3 rows in set (0.00 sec)

Legg til en databasebruker

når programmer kobler til databasen ved hjelp av rotbrukeren, har de vanligvis flere privilegier enn de trenger. Du kan legge til brukere som programmer kan bruke til å koble til den nye databasen. I følgende eksempel opprettes en bruker som heter demouser.

  1. for å opprette en ny bruker, kjør følgende kommando i mysql shell:

    INSERT INTO mysql.user (User,Host,authentication_string,ssl_cipher,x509_issuer,x509_subject)VALUES('demouser','localhost',PASSWORD('demopassword'),'','','');
  2. når du gjør endringer i brukertabellen i mysql-databasen, fortellmysql å lese endringene ved å skylle privilegiene, som følger:

    FLUSH PRIVILEGES;
  3. Kontroller at brukeren ble opprettet ved å kjøre EN UTVALGSSPØRRING på nytt:

    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 |+------------------+-----------+-------------------------------------------+

Gi databasebrukertillatelser

Rett etter at du har opprettet en ny bruker, har den ingen rettigheter. Brukeren kan logge inn, men kan ikke brukes til å gjøre endringer i databasen.

Sammendrag

hvis du bare oppretter en database og en bruker, er du ferdig. De conceptscovered her bør gi deg en solid start for å lære mer.

  • Konfigurer MySQL-serveren på Ubuntu-operativsystemet
  • Tilbakestill Et MySQL-rotpassord

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.