MySQL är ett av de vanligaste relationsdatabashanteringssystemen med öppen källkod (RDBMS), baserat på Structured Query Language (SQL), som är ett programmeringsspråk som används för att hantera data som finns i en databas.
Den är snabb, enkel att använda även för nybörjare som börjar utveckla backend och integreras i olika stackpaket som Xampp, Lamp och Wamp.
I det här inlägget kommer vi att visa dig hur du installerar MySQL-servern i ditt Ubuntu-system. Ytterligare information inkluderar konfigurering av säkerhetsalternativ, justering av autentiseringsmetoder och skapande av en ny användare. Vår valda Ubuntu-utgåva i den här handledningen är Ubuntu 20.04 LTS, som är den senaste versionen när den här artikeln skrevs.
Installera MySQL på Ubuntu
Krav
Du måste ha förhöjda privilegier (root) på ditt system. Du kan göra detta genom att utföra kommandot nedan.
sudo su
Procedur
När det här inlägget skrevs är den nuvarande MySQL Linux-versionen version 5.7. För att komma igång med installationen, följ stegen nedan:
Steg 1) Se till att alla paket och förråd i ditt system är uppdaterade. Du kan göra det genom att köra kommandot nedan:
sudo apt update
Steg 2) Nu kommer vi att installera MySQL via apt package manager. Utför kommandot nedan.
sudo apt install mysql-server
Steg 3) Efter en lyckad installation bör mysql-tjänsten starta automatiskt. Du kan bekräfta det genom att utföra kommandot nedan:
sudo systemctl status mysql
Du bör få en utdata som liknar den på bilden nedan.
I alla fall då tjänsten inte körs, kör kommandot nedan:
sudo /etc/init.d/mysql start
Verifiera MySQL-installationen (valfritt)
Du kan verifiera din installation genom att köra kommandot nedan, vilket kommer att mata ut MySQL-versionen och distributionen som är installerad i ditt system.
mysql --version
Säkra din MySQL-server
Nu när MySQL-servern har installerats framgångsrikt måste du ställa in några parametrar för att säkerställa säkerheten för servern och databaserna som du konfigurerar i framtiden.
I andra fall, efter att installationen av MySQL Server-paketet är klar, startas mysql-secure-installation-verktyget automatiskt. Men om detta inte är fallet för dig, kör kommandot nedan:
sudo mysql_secure_installation
Du kommer att se en uppmaning som frågar dig om du ska VALIDERA LÖSENORD PLUGIN. Det förbättrar MySQL-serversäkerheten genom att kontrollera styrkan på användarlösenord, vilket tillåter användare att endast ställa in starka lösenord. Tryck på Y för att acceptera VALIDERING eller på RETURN för att hoppa över.
Därefter bör du se en uppmaning att ställa in root-lösenordet. Ange ditt lösenord och tryck på enter. Observera att av säkerhetsskäl inte det du skriver i konsolen visas.
Därefter bör du se en uppmaning som frågar dig om du vill ta bort alla anonyma användare, ange Y för YES. För alla andra uppmaningar härifrån anger du Y för JA.
Logga in som root och justera användarautentisering
MySQL-servern kommer med ett verktyg på klientsidan som låter dig komma åt och interagera med databasen från Linux-terminalen.
Normalt, efter en nyinstallation av MySQL på Ubuntu utan att utföra några konfigurationer, autentiseras användare som kommer åt servern med autentiseringssocket (auth_socket) plugin.
Användningen av auth_socket hindrar servern från att autentisera en användare med ett lösenord. Det väcker inte bara säkerhetsproblem, utan det döljer också användare från att komma åt databasen med hjälp av externa program som phpMyAdmin. Vi måste ändra autentiseringsmetoden från auth_socket till användningen av mysql_native_password.
För att göra detta måste vi öppna MySQL-konsolen. Kör följande kommando på Linux-terminalen.
sudo mysql
Nu måste vi kontrollera autentiseringsmetoden som används av databasen på olika användare. Du kan göra det genom att köra kommandot nedan.
SELECT user,authentication_string,plugin,host FROM mysql.user;
Från bilden ovan kan vi bekräfta att root-användaren verkligen är autentiserad med auth_socket-plugin. Vi måste byta till användningen av "lösenordsautentisering" med kommandot "ALTER USER" nedan. Se till att du använder ett säkert lösenord (bör vara mer än åtta tecken som kombinerar siffror, strängar och specialsymboler) eftersom det kommer att ersätta lösenordet du ställde in när du kör kommandot "sudo mysql_secure_installation" ovan. Kör kommandot nedan.
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';
Observera att den markerade texten i bilden ovan är där du anger ditt säkra lösenord. Omslut den mellan enskilda taggar. Nu måste vi ladda om bidragstabellerna och uppdatera ändringarna av MySQL-servern. Gör detta genom att utföra kommandot nedan.
FLUSH PRIVILEGES;
När det är gjort måste vi bekräfta att rotanvändningen inte längre använder auth_socket för autentisering. Gör det genom att köra kommandot nedan igen.
SELECT user,authentication_string,plugin,host FROM mysql.user;
Från bilden ovan ser vi att rotautentiseringsmetoden har ändrats från 'auth_socket' till 'lösenord'.
Eftersom vi har ändrat autentiseringsmetoden för root kan vi inte använda samma kommando som vi använde tidigare för att öppna MySQL-konsolen. Det vill säga "sudo mysql." Vi kommer att behöva inkludera användarnamn och lösenordsparametrar, som visas nedan.
mysql -u root -p
"-u" indikerar användaren, vilket är "root" för vårt fall och "-p" står för "lösenord", som servern kommer att uppmana dig att ange när du trycker på Enter-tangenten.
Skapa en ny användare
När allt är konfigurerat kan du skapa en ny användare som du kommer att ge lämpliga privilegier. I vårt fall här kommer vi att skapa en användare 'tuts_fosslinux' och tilldela rättigheter över alla databastabeller och behörighet att ändra, ta bort och lägga till användarrättigheter. Utför kommandona under rad för rad.
CREATE USER 'tuts_fosslinux'@'localhost' IDENTIFIED BY 'strong_password'; GRANT ALL PRIVILEGES ON *.* TO 'tuts_fosslinux'@'localhost' WITH GRANT OPTION;
Det första kommandot skapar den nya användaren, och det andra tilldelar de nödvändiga privilegierna.
Vi kan nu testa vår nya användare genom att köra kommandot nedan.
mysql -u tuts_fosslinux -p
Installera MySQL-server på Ubuntu-servern
Att installera MySQL-server på Ubuntu-servern är ingen stor skillnad från stegen som beskrivs ovan. Men eftersom en server nås på distans, måste vi också aktivera fjärråtkomst för vår server.
För att installera databasen och konfigurera säkerhetsalternativ, kör bara följande kommandon rad för rad på terminalen.
sudo apt update sudo apt install mysql-server sudo mysql_secure_installation
Efter en lyckad installation måste vi aktivera fjärråtkomst. Logiskt sett är allt vi behöver göra att öppna en port på Ubuntu-serverns brandvägg för att MySQL-servern ska kunna kommunicera. Som standard körs MySQL-tjänsten på port 3306. Kör kommandona nedan.
sudo ufw enable
sudo ufw allow mysql
För att förbättra tillförlitligheten och tillgängligheten för våra MySQL-databaser kan vi konfigurera MySQL-servertjänsten så att den börjar köras vid uppstart. För att göra det, kör kommandot nedan.
sudo systemctl enable mysql
Nu måste vi konfigurera vår servers gränssnitt. Det gör det möjligt för servern att lyssna på fjärråtkomliga gränssnitt. Vi måste redigera filen 'mysqld.cnf'. Kör kommandona nedan.
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Som standard är bindningsadressen till "127.0.0.1." Lägg till bindningsadress för ditt offentliga nätgränssnitt och en annan för Service Net-gränssnitt. Du kan konfigurera din bindningsadress som "0.0.0.0" för alla IP-adresser.
Slutsats
Jag hoppas att du gillade den här handledningen om hur du konfigurerar MySQL-servern på ditt Ubuntu-system. Om du precis har börjat med MySQL och allt du behöver är att skapa en enkel databas och användare, bör stegen ovan vara till stor hjälp. Om du tycker att den här artikeln är fyndig, dela gärna länken med en vän.