Hur man installerar MySQL på Ubuntu 20.04
MySQL är en av de mest populära open source-databaserna. Den är känd för sin prestanda, tillförlitlighet och skalbarhet och används inom många olika områden, från små webbhotellsystem till stora företag. I den här artikeln förklarar vi steg för steg hur du installerar MySQL på Ubuntu 20.04, så att du kan konfigurera ett tillförlitligt databashanteringssystem.
Vilka är kraven för att installera MySQL på Ubuntu 20.04?
Det finns relativt få systemkrav för att installera MySQL på Ubuntu 20.04, som alla bör uppfyllas på de flesta moderna stationära datorer och serversystem. Det är viktigt att notera att kraven kan variera beroende på databasens avsedda syfte och omfattning. Om du till exempel vill köra en intensiv applikation som använder stora databaser eller komplexa frågor kommer det RAM-minne och den processorkraft som krävs för att säkerställa god prestanda att vara högre. Du bör också ha tillräckligt med utrymme på hårddisken för att möjliggöra framtida tillväxt och tillägg av fler databaser.
Du bör kontrollera din nätverkskonfiguration och brandväggsinställningar för att säkerställa smidig kommunikation mellan MySQL-servern och klienterna. MySQL-servern bör ha en statisk IP-adress för att undvika problem med anslutningen.
Här är minimikraven för installation av MySQL:
- Processor (CPU): x86-64-arkitektur, min. 1 GHz (dual-core)
- RAM: minst 1 GB
- Operativsystem: Ubuntu 20.04, ett användarkonto med sudo- och root-behörighet
- Brandvägg: MySQL-port 3306 öppen
- Hårddiskutrymme: minst 500 MB
- Internetanslutning: Krävs för att ladda ner paket och ansluta till MySQL-servern
Steg-för-steg-guide för hur man installerar MySQL på Ubuntu 20.04
MySQL kan installeras på Ubuntu 20.04 med hjälp av pakethanteringssystemet APT (Advanced Package Tool). Efter installationen måste du ställa in och konfigurera det, för vilket du behöver root-lösenordet och åtkomst till externa klienter. Nedan visar vi dig steg för steg hur du installerar MySQL på Ubuntu 20.04.
Steg 1: Uppdatera paketindex
Först är det en bra idé att se till att din lista över paket är uppdaterad. Du kan använda följande kommando för detta:
$ sudo apt updatebashSteg 2: Installera MySQL-servern
Installera sedan MySQL-serverpaketet med APT:
$ sudo apt install mysql-serverbashFör att kontrollera att servern körs kan du starta den manuellt med kommandot systemctl.
$ sudo systemctl start mysql.servicebashSteg 3: Konfigurera MySQL
MySQL uppfyller inte de rekommenderade säkerhetsstandarderna direkt efter installationen. För att åtgärda detta använder du det skript som MySQL tillhandahåller för att ändra inställningarna så att servern skyddas bättre. Det innebär att root-lösenordet ställs in, anonyma användare tas bort och fjärråtkomst begränsas.
Du måste vidta vissa försiktighetsåtgärder för att säkerställa att du kör skriptet korrekt. Appen kommer att vilja ändra lösenordet för root-kontot, som är inaktiverat som standard i Ubuntu. För att undvika fel måste du justera autentiseringsmetoden för root-användare.
För att göra detta, starta MySQL-kommandotolken:
$ sudo mysqlbashAnvänd kommandot ALTER USER för att ställa in ett lösenord för root:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';bashStäng MySQL-kommandotolken:
mysql> exitbashKör säkerhetsskriptet:
$ sudo mysql_secure_installationbashFör att autentisera root-användaren, ange följande:
$ mysql -u root -pbashNär skriptet är klart kan du ändra standardautentiseringsmetoden igen:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH auth_socket;bashDetta gör att du kan ansluta med kommandot sudo mysql igen.
Steg 4: Konfigurera MySQL-användare
När du installerar MySQL skapas en root-användare som har alla behörigheter för MySQL-servern och fullständig kontroll över databaser, tabeller och användare. För att öka säkerheten bör du skapa en användare med begränsade behörigheter.
För att göra detta öppnar du MySQL-kommandotolken:
$ sudo mysqlbashOm du har ställt in ett lösenord som autentiseringsmetod, använd följande:
$ mysql -u root -pbashSkapa nu en ny användare för MySQL:
mysql> CREATE USER 'username'@'host' IDENTIFIED WITH authentication_plugin BY 'password';bashAnge ditt användarnamn i stället för “username” och namnet på din värd i stället för “host”. Om du kör Ubuntu lokalt skriver du localhost. Uttrycket “WITH authentication_plugin” är valfritt. Plugin-programmet “auth_socket” har starka säkerhetsinställningar och kräver inget lösenord för inloggning.
Om inget annat anges använder MySQL plugin-programmet “caching_sha2_password” för autentisering. Vissa versioner av PHP är dock inte kompatibla med detta. Du kan istället använda det beprövade plugin-programmet “mysql_native_password”:
mysql> CREATE USER 'username'@'host' IDENTIFIED WITH mysql_native_password BY 'password';bashEller använd funktionen “alter” för en befintlig användare:
mysql> ALTER 'username'@'host' IDENTIFIED WITH mysql_native_password BY 'password';bashSteg 5: Tilldela behörigheter
Nu är det dags att ställa in vilka behörigheter den nya användaren ska ha. Syntaxen för detta är:
mysql> GRANT PRIVILEGE ON database.table TO 'username'@'host';bashPrivilegier separeras med kommatecken. För att ge globala privilegier ersätter du “database.table” med en asterisk “*”.
I följande exempel ger vi en användare behörighet att skapa (CREATE), ändra (ALTER) och ta bort (DROP) databaser samt att infoga (INSERT), välja (SELECT), uppdatera (UPDATE) och ta bort (DELETE) data i en tabell.
mysql> GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT on *.* TO 'user'@'host' WITH GRANT OPTION;bash“MED BEVILJANDEOPTION” ger användaren tillstånd att ge sina privilegier till andra användare.
Töm nu cacheminnet med “FLUSH PRIVILEGES”:
mysql> FLUSH PRIVILEGES;bashDärefter kan du stänga MySQL-kommandotolken:
mysql> exitbashNu kan du logga in med det nya användarnamnet:
$ mysql -u username -pbashSteg 6: Testa MySQL
Kontrollera om MySQL fungerar korrekt med till exempel systemhanteraren Systemd:
$ systemctl status mysql.servicebashAlternativt kan du ansluta till MySQL-databasen. Följande kommando loggar in dig på MySQL och visar serverversionen:
$ sudo mysqladmin -p -u username versionbash
