Sådan installeres MySQL på Ubuntu 20.04
MySQL er en af de mest populære open source-databaser. Den er kendt for sin ydeevne, pålidelighed og skalerbarhed og bruges i mange forskellige områder, fra små webhostingsystemer til store virksomheder. I denne artikel forklarer vi trin for trin, hvordan du installerer MySQL på Ubuntu 20.04, så du kan oprette et pålideligt databasestyringssystem.
Hvad er kravene til installation af MySQL på Ubuntu 20.04?
Der er relativt få systemkrav til installation af MySQL på Ubuntu 20.04, som alle bør være opfyldt på de fleste moderne desktop- og serversystemer. Det er vigtigt at bemærke, at kravene kan variere afhængigt af databasens formål og omfang. Hvis du f.eks. vil køre et ressourcekrævende program, der bruger store databaser eller komplekse forespørgsler, vil der være behov for mere RAM og processorkraft for at sikre god ydeevne. Du bør også have tilstrækkelig plads på din harddisk til at give plads til fremtidig vækst og tilføjelse af flere databaser.
Du bør kontrollere din netværkskonfiguration og firewallindstillinger for at sikre problemfri kommunikation mellem MySQL-serveren og klienterne. MySQL-serveren bør have en statisk IP-adresse for at undgå problemer med forbindelsen.
Her er minimumskravene for installation af MySQL:
- Processor (CPU): x86-64-arkitektur, min. 1 GHz (dual-core)
- RAM: min. 1 GB
- Operativsystem: Ubuntu 20.04, en brugerkonto med sudo- og root-rettigheder
- Firewall: MySQL-port 3306 åben
- Harddiskplads: min. 500 MB
- Internetforbindelse: Kræves for at downloade pakker og oprette forbindelse til MySQL-serveren
Trinvis vejledning til installation af MySQL på Ubuntu 20.04
MySQL kan installeres på Ubuntu 20.04 ved hjælp af pakkehåndteringssystemet APT (Advanced Package Tool). Efter installationen skal du opsætte og konfigurere det, hvilket kræver root-adgangskoden og adgang til eksterne klienter. Nedenfor viser vi dig trin for trin, hvordan du installerer MySQL på Ubuntu 20.04.
Trin 1: Opdater pakkeindeks
Først er det en god idé at sikre, at din liste over pakker er opdateret. Du kan bruge følgende kommando til dette:
$ sudo apt updatebashTrin 2: Installer MySQL-serveren
Dernæst installerer du MySQL-serverpakken med APT:
$ sudo apt install mysql-serverbashFor at kontrollere, at serveren kører, kan du starte den manuelt med kommandoen systemctl.
$ sudo systemctl start mysql.servicebashTrin 3: Konfigurer MySQL
MySQL opfylder ikke de anbefalede sikkerhedsstandarder umiddelbart efter installationen. For at løse dette problem skal du bruge det script, der tilbydes af MySQL, til at ændre indstillingerne, så serveren beskyttes bedre. Dette vil indstille root-adgangskoden, fjerne anonyme brugere og begrænse fjernadgang.
Du skal tage visse forholdsregler for at sikre, at du udfører scriptet korrekt. Appen vil ændre adgangskoden til root-kontoen, som er deaktiveret som standard på Ubuntu. For at undgå en fejl skal du justere godkendelsesmetoden for root-brugere.
For at gøre dette skal du starte MySQL-kommandoprompten:
$ sudo mysqlbashBrug kommandoen ALTER USER til at indstille en adgangskode for root:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';bashLuk MySQL-kommandoprompten:
mysql> exitbashKør sikkerhedsskriptet:
$ sudo mysql_secure_installationbashFor at godkende root-brugeren skal du indtaste følgende:
$ mysql -u root -pbashNår scriptet er færdigt, kan du ændre standardgodkendelsesmetoden igen:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH auth_socket;bashDette vil gøre det muligt for dig at oprette forbindelse med sudo mysql -kommandoen igen.
Trin 4: Opret MySQL-brugere
Når du installerer MySQL, oprettes der en root-bruger, der har alle rettigheder til MySQL-serveren og fuld kontrol over databaser, tabeller og brugere. For at øge sikkerheden bør du oprette en bruger med begrænsede rettigheder.
For at gøre dette skal du åbne MySQL-kommandoprompten:
$ sudo mysqlbashHvis du har angivet en adgangskode som godkendelsesmetode, skal du bruge følgende:
$ mysql -u root -pbashOpret nu en ny bruger til MySQL:
mysql> CREATE USER 'username'@'host' IDENTIFIED WITH authentication_plugin BY 'password';bashIndtast dit brugernavn i stedet for ‘username’ og navnet på din host i stedet for ‘host’. Hvis du kører Ubuntu lokalt, skal du skrive localhost. Udtrykket ‘WITH authentication_plugin’ er valgfrit. Pluginet ‘auth_socket’ har stærke sikkerhedsindstillinger og kræver ikke en adgangskode for at logge ind.
Medmindre andet er angivet, bruger MySQL plugin’et ‘caching_sha2_password’ til autentificering. Nogle versioner af PHP er dog ikke kompatible med dette plugin. Du kan i stedet bruge det gennemprøvede plugin ‘mysql_native_password’:
mysql> CREATE USER 'username'@'host' IDENTIFIED WITH mysql_native_password BY 'password';bashEller brug funktionen ‘alter’ til en eksisterende bruger:
mysql> ALTER 'username'@'host' IDENTIFIED WITH mysql_native_password BY 'password';bashTrin 5: Tildel privilegier
Nu er det tid til at indstille, hvilke rettigheder den nye bruger skal have. Syntaksen for dette er:
mysql> GRANT PRIVILEGE ON database.table TO 'username'@'host';bashPrivilegier adskilles med et komma. For at give globale privilegier skal du erstatte ‘database.table’ med en stjerne ‘*’.
I det følgende eksempel giver vi en bruger tilladelse til at oprette (CREATE), ændre (ALTER) og slette (DROP) databaser samt indsætte (INSERT), vælge (SELECT), opdatere (UPDATE) og slette (DELETE) data i en tabel.
mysql> GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT on *.* TO 'user'@'host' WITH GRANT OPTION;bash‘MED TILDELINGSOPTION’ giver brugeren tilladelse til at give de privilegier, de har, til andre brugere.
Tøm nu cachen med ‘FLUSH PRIVILEGES’:
mysql> FLUSH PRIVILEGES;bashDerefter kan du lukke MySQL-kommandoprompten:
mysql> exitbashNu kan du logge ind med det nye brugernavn:
$ mysql -u username -pbashTrin 6: Test MySQL
Kontroller, om MySQL kører korrekt, f.eks. med systemadministratoren Systemd:
$ systemctl status mysql.servicebashAlternativt kan du oprette forbindelse til MySQL-databasen. Følgende kommando logger dig ind på MySQL og viser serverversionen:
$ sudo mysqladmin -p -u username versionbash