Hoe MySQL te installeren op CentOS 7

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:

  1. curl -sSLO https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm

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:

  1. md5sum mysql80-community-release-el7-5.noarch.rpm
Output
e2bd920ba15cd3d651c1547661c60c7c 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:

  1. sudo rpm -ivh mysql57-community-release-el7-9.noarch.rpm

Dit voegt twee nieuwe MySQL yum-repositories toe, en we kunnen ze nu gebruiken om de de MySQL-server te installeren:

  1. sudo yum install mysql-server

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:

  1. sudo systemctl start mysqld

systemctl toont niet de uitvoer van alle servicebeheercommando’s, dus om zeker te zijn dat het gelukt is, gebruiken we het volgende commando:

  1. sudo systemctl status mysqld

Als MySQL succesvol is gestart, moet de uitvoer Actief: actief (draaiend) bevatten en de laatste regel moet er ongeveer zo uitzien:

  1. Dec 01 19:02:20 centos-512mb-sfo2-02 systemd[1]: Started MySQL Server.

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:

  1. sudo grep 'temporary password' /var/log/mysqld.log
Output
2022-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.

  1. sudo mysql_secure_installation

U wordt dan gevraagd om het standaard root-wachtwoord in te voeren. Zodra u dit invoert, moet u het wijzigen.

Output
The 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:

Output
Estimated 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.

  1. mysqladmin -u root -p version

Je zou output moeten zien die vergelijkbaar is met dit:

Output
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