supportnetværk
installation af Ubuntu-Server på Ubuntu-operativsystemet
sidst opdateret den: 2019-12-20
forfatter: Jered Heeschen
det er en open source relationsdatabase, der er gratis og meget udbredt. Det eret godt valg, hvis du ved, at du har brug for en database, men ikke ved meget omalle de tilgængelige muligheder.
denne artikel beskriver en grundlæggende installation af en databaseserver på Ubuntu-operativsystemet. Du skal muligvis installere andre pakker for at lade applikationer bruge
installer Microsoft
installer Microsoft-serveren ved hjælp af Ubuntu Operativ system package manager:
sudo apt-get updatesudo apt-get install mysql-server
installationsprogrammet installerer Myscl og alle afhængigheder.
hvis secure installation utility ikke starter automatisk, når installationen er afsluttet, skal du indtaste følgende kommando:
sudo mysql_secure_installation utility
dette værktøj beder dig om at definere rodadgangskodenog andre sikkerhedsrelaterede muligheder, herunder fjernelse af fjernadgangtil rodbrugeren og indstilling af rodadgangskoden.
Tillad fjernadgang
hvis du har iptables aktiveret og vil oprette forbindelse til databasen fraen anden maskine, skal du åbne en port i serverens brandvæg (Standardporten er 3306). Du behøver ikke at gøre dette, hvis det program, der bruger
Kør følgende kommando for at tillade fjernadgang til serveren:
sudo ufw enablesudo ufw allow mysql
start Myskl-tjenesten
når installationen er afsluttet, kan du starte databasetjenesten ved at køre følgende kommando. Hvis tjenesten allerede er startet, en beskedinformerer dig om, at tjenesten allerede kører:
sudo systemctl start mysql
Start ved genstart
for at sikre, at databaseserveren starter efter en genstart, skal du køre følgendekommandoen:
sudo systemctl enable mysql
Configure interfaces
er som standard ikke længere bundet til ( lytte til ) nogen eksternt tilgængelige grænseflader.Rediger” bind-adresse ” – direktivet i/etc/myscl / myscl.conf.d / myskld.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. )
genstart tjenesten.
sudo systemctl restart mysql
Start myskl shell
der er mere end en måde at arbejde med en Myskl-server på, men denne artikelfokuserer på den mest grundlæggende og kompatible tilgang, mysql
shell.
-
ved kommandoprompten skal du køre følgende kommando for at starte
mysql
shell og indtaste den som rodbrugeren:/usr/bin/mysql -u root -p
-
når du bliver bedt om en adgangskode, skal du indtaste den, du har angivet tilinstallationstid, eller hvis du ikke har angivet en, skal du trykke på Enter for at indsende nopadgangskode.
følgende
mysql
shell prompt skal vises:mysql>
Indstil rodadgangskoden
hvis du er logget ind ved at indtaste en tom adgangskode, eller hvis du vil ændre det rodadgangskode, du har angivet, kan du oprette eller ændre adgangskoden.
-
for versioner tidligere end Myskl 5.7 skal du indtaste følgende kommando i
mysql
shell, erstattepassword
meddin nye adgangskode:UPDATE mysql.user SET Password = PASSWORD('password') WHERE User = 'root';
for version 5.7 og nyere skal du indtaste følgende kommando i
mysql
shell, erstattepassword
meddin nye adgangskode:UPDATE mysql.user SET authentication_string = PASSWORD('password') WHERE User = 'root';
-
for at få ændringen til at træde i kraft skal du genindlæse de gemte brugeroplysninger med følgende kommando:
FLUSH PRIVILEGES;
Bemærk: Vi bruger ALL-caps til kommandoer. Hvis du skriver disse kommandoer med små bogstaver, fungerer de. Efter konvention skrives kommandoerne i ALL-caps for at få dem til at skille sig ud fra feltnavne og otherdata, der manipuleres.
hvis du har brug for at nulstille rodadgangskoden senere, skal du se Nulstil en rodadgangskode.
se brugere
SELECT User, Host, authentication_string FROM mysql.user;
følgende liste beskriver de dele af denne kommando:
- vælg fortæller os, at du beder om data.
- bruger, vært, authentication_string fortæller mig, hvilke felter du vil have det til at se i. Felter er kategorier for dataene i en tabel. I dette tilfælde Leder du efter brugernavnet, værten, der er knyttet til brugernavnet, Ogden krypterede adgangskodeindtastning.
- fra myskl.bruger ” fortæller
at hente dataene fra databasen og brugertabellen. - et semikolon (;) afslutter kommandoen.
Bemærk: alle forespørgsler slutter i et semikolon. Det er ikke muligt at behandle en forespørgsel, indtil du skriver et semikolon.
Brugerværter
følgende eksempel er output for den foregående forespørgsel:
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 |+------------------+-----------+-------------------------------------------+
brugere er tilknyttet en vært, specifikt, værten, hvorfra de opretter forbindelse.Rodbrugeren i dette eksempel er defineret for localhost, for IP-adressenaf localhost og serverens værtsnavn.Du skal normalt indstille en bruger til kun en vært, den fra hvilken dutypisk forbinde.
hvis du kører din applikation på den samme computer som serveren, er værten, som den opretter forbindelse til som standard, localhost. Eventuelle nye brugere, du opretter, skal have localhost i deres værtsfelt.
hvis din applikation forbinder eksternt, er værtsindgangen, som Myskl søger efterer IP-adressen eller DNS-værtsnavnet på fjerncomputeren (den fra hvilkenklienten kommer).
anonyme brugere
i eksempeludgangen har en post en værtsværdi, men intet Brugernavn eller adgangskode.Det er en anonym bruger. Når en klient opretter forbindelse uden angivet brugernavn,forsøger den at oprette forbindelse som en anonym bruger.
du vil normalt ikke have nogen anonyme brugere, men nogle Installationerinkludere en som standard. Hvis du ser en, skal du enten slette brugeren(se brugernavnet med tomme anførselstegn, som ‘ ‘) eller indstille en adgangskode til det.
Opret en database
der er forskel på en databaseserver og en database, selvomdisse udtryk bruges ofte om hverandre. Det er en databaseserver, hvilket betyder ittracks databaser og styrer adgangen til dem. Databasen gemmer dataene, ogDet er den database, som applikationer forsøger at få adgang til, når de interagerer med Myskl.
nogle applikationer opretter en database som en del af deres installationsproces, men andrekræver, at du selv opretter en database og fortælleansøgning om det.
for at oprette en database skal du logge ind på mysql
shell og køre følgende kommando og erstatte demodb
med navnet på den database, du vil oprette:
CREATE DATABASE demodb;
når databasen er oprettet, kan du bekræfte dens oprettelse ved at køre en forespørgsel tilliste alle databaser. Følgende eksempel viser forespørgslen og eksempeloutputtet:
SHOW DATABASES;+--------------------+| Database |+--------------------+| information_schema || demodb || mysql |+--------------------+3 rows in set (0.00 sec)
Tilføj en databasebruger
når applikationer opretter forbindelse til databasen ved hjælp af rodbrugeren, har de normalt flere privilegier, end de har brug for. Du kan tilføje brugere, som programmer kan bruge til at oprette forbindelse til den nye database. I det følgende eksempel oprettes en bruger ved navn demouser.
-
for at oprette en ny bruger skal du køre 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'),'','','');
-
når du foretager ændringer i brugertabellen i databasen, skal du bede om at læse ændringerne ved at skylle privilegierne som følger:
FLUSH PRIVILEGES;
-
Kontroller, at brugeren blev oprettet ved at køre en UDVÆLGELSESFORESPØRGSEL igen:
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 |+------------------+-----------+-------------------------------------------+
Giv databasebrugertilladelser
lige efter du har oprettet en ny bruger, har den ingen privilegier. Brugeren kan logge ind, men kan ikke bruges til at foretage databaseændringer.
Resume
hvis du bare opretter en database og en bruger, er du færdig. Koncepterne, der er dækket her, skal give dig en solid start, hvorfra du kan lære mere.
- Konfigurer server på Ubuntu-operativsystemet
- Nulstil en adgangskode til root