Inleiding
MySQL is een open-source databasesysteem, dat doorgaans wordt geïnstalleerd als onderdeel van de populaire LEMP-stack (Linux, Nginx, MySQL/MariaDB, PHP/Python/Perl). Het maakt gebruik van een relationele database en SQL (Structured Query Language) om zijn gegevens te beheren.
CentOS 7 geeft de voorkeur aan MariaDB, een fork van MySQL die wordt beheerd door de oorspronkelijke MySQL-ontwikkelaars en is ontworpen als vervanging voor MySQL. Als je yum install mysql
uitvoert op CentOS 7, wordt in feite MariaDB geïnstalleerd in plaats van MySQL. Als je je afvraagt over MySQL vs. MariaDB, MariaDB zal over het algemeen naadloos werken in plaats van MySQL, dus tenzij je een specifiek gebruik hebt voor MySQL, zie de How To Install MariaDB on Centos 7-gids.
Deze tutorial zal uitleggen hoe MySQL versie 8 te installeren op een CentOS 7-server.
Vereisten
Om deze tutorial te volgen, heb je nodig:
- A CentOS 7 with a non-root user with
sudo
privileges. You can learn more about how to set up a user with these privileges in the Initial Server Setup with CentOS 7 guide.
Stap 1 — MySQL installeren
Zoals vermeld in de inleiding, installeert het Yum-commando om MySQL te installeren eigenlijk MariaDB. Om MySQL te installeren, moeten we naar de MySQL-community Yum Repository gaan, die pakketten voor MySQL levert.
Bezoek in een webbrowser:
https://dev.mysql.com/downloads/repo/yum/
Merk op dat de prominente downloadlinks niet rechtstreeks naar de bestanden leiden. In plaats daarvan leiden ze naar een volgende pagina waar je wordt uitgenodigd om in te loggen of een account aan te maken. Als je geen account wilt aanmaken, kun je de tekst “Nee bedankt, begin gewoon met mijn download” vinden, dan met de rechtermuisknop klikken en de linklocatie kopiëren, of je kunt het versienummer bewerken in de onderstaande commando’s.
Zoek de gewenste versie en update deze indien nodig in de onderstaande link:
Zodra het rpm-bestand is opgeslagen, verifiëren we de integriteit van de download door md5sum
uit te voeren en deze te vergelijken met de overeenkomstige MD5-waarde die op de site staat:
Outpute2bd920ba15cd3d651c1547661c60c7c mysql80-community-release-el7-5.noarch.rpm
Vergelijk deze uitvoer met de juiste MD5-waarde op de site:
Nu we hebben geverifieerd dat het bestand niet is beschadigd of gewijzigd, zullen we het pakket installeren:
Dit voegt twee nieuwe MySQL yum-repositories toe, en we kunnen ze nu gebruiken om de de MySQL-server te installeren:
Druk op y
om te bevestigen dat je wilt doorgaan. Omdat we zojuist het pakket hebben toegevoegd, worden we ook gevraagd om de GPG-sleutel ervan te accepteren. Druk op y
om deze te downloaden en de installatie te voltooien.
Stap 2 — MySQL starten
We starten de daemon met het volgende commando:
systemctl
toont niet de uitvoer van alle servicebeheercommando’s, dus om zeker te zijn dat het gelukt is, gebruiken we het volgende commando:
Als MySQL succesvol is gestart, moet de uitvoer Actief: actief (draaiend)
bevatten en de laatste regel moet er ongeveer zo uitzien:
Opmerking: MySQL is automatisch ingesteld om bij het opstarten te worden gestart wanneer het is geïnstalleerd. Je kunt dit standaardgedrag wijzigen met sudo systemctl disable mysqld
Tijdens het installatieproces wordt er een tijdelijk wachtwoord gegenereerd voor de MySQL root-gebruiker. Vind het in het bestand mysqld.log
met dit commando:
Output2022-01-24T19:54:46.313728Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: mqRfBU_3Xk>r
Maak een notitie van het wachtwoord, dat je nodig zult hebben in de volgende stap om de installatie te beveiligen en waar je gedwongen zult worden om het te wijzigen. Het standaardwachtwoordbeleid vereist 12 tekens, met minstens één hoofdletter, één kleine letter, één cijfer en één speciaal teken.
Stap 3 — Configuratie van MySQL
MySQL bevat een beveiligingsscript om enkele van de minder veilige standaardopties te wijzigen, zoals externe root-inloggegevens en voorbeeldgebruikers.
Gebruik dit commando om het beveiligingsscript uit te voeren.
U wordt dan gevraagd om het standaard root-wachtwoord in te voeren. Zodra u dit invoert, moet u het wijzigen.
OutputThe existing password for the user account root has expired. Please set a new password.
New password:
Voer een nieuw wachtwoord van 12 tekens in dat minstens één hoofdletter, één kleine letter, één cijfer en één speciaal teken bevat. Voer het opnieuw in wanneer daarom wordt gevraagd.
U ontvangt feedback over de sterkte van uw nieuwe wachtwoord, en vervolgens wordt u onmiddellijk gevraagd het opnieuw te wijzigen. Aangezien u dit net hebt gedaan, kunt u zelfverzekerd Nee
zeggen:
OutputEstimated strength of the password: 100
Change the password for root ? (Press y|Y for Yes, any other key for No) :
Nadat we het verzoek om het wachtwoord opnieuw te wijzigen hebben afgewezen, drukken we op J
en vervolgens op ENTER
op alle daaropvolgende vragen om anonieme gebruikers te verwijderen, externe root-inloggen te verbieden, de testdatabase en de toegang ertoe te verwijderen, en de privileges tabellen opnieuw te laden.
Nu we de installatie hebben beveiligd, gaan we deze testen.
Stap 4 — Testen van MySQL
We kunnen onze installatie verifiëren en informatie erover krijgen door verbinding te maken met de mysqladmin
-tool, een client waarmee je administratieve commando’s kunt uitvoeren. Gebruik het volgende commando om verbinding te maken met MySQL als root (-u root
), vraag om een wachtwoord (-p
), en geef de versie terug.
Je zou output moeten zien die vergelijkbaar is met dit:
mysqladmin Ver 8.0.28 for Linux on x86_64 (MySQL Community Server - GPL)
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Server version 8.0.28
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/lib/mysql/mysql.sock
Uptime: 3 min 2 sec
Threads: 2 Questions: 14 Slow queries: 0 Opens: 133 Flush tables: 3 Open tables: 49 Queries per second avg: 0.076
Dit geeft aan dat je installatie succesvol is geweest.
Conclusie
In deze handleiding hebben we MySQL geïnstalleerd en beveiligd op een CentOS 7-server. Om meer te leren over het gebruik van MySQL, kan deze gids over het leren van meer MySQL-commando’s helpen. Je zou ook kunnen overwegen om enkele aanvullende beveiligingsmaatregelen te implementeren.
Source:
https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-centos-7