Introduzione
MySQL è un sistema di gestione di database open source, comunemente installato come parte dello stack LEMP (Linux, Nginx, MySQL/MariaDB, PHP/Python/Perl) popolare. Utilizza un database relazionale e SQL (Structured Query Language) per gestire i suoi dati.
CentOS 7 preferisce MariaDB, un fork di MySQL gestito dagli sviluppatori originali di MySQL e progettato come sostituto di MySQL. Se esegui yum install mysql
su CentOS 7, è MariaDB che viene installato al posto di MySQL. Se ti stai chiedendo la differenza tra MySQL e MariaDB, MariaDB generalmente funzionerà senza problemi al posto di MySQL, quindi a meno che tu non abbia un caso d’uso specifico per MySQL, consulta la guida Come installare MariaDB su CentOS 7.
In questo tutorial verrà spiegato come installare MySQL versione 8 su un server CentOS 7.
Prerequisiti
Per seguire questo tutorial, avrai bisogno di:
- 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.
Passaggio 1 — Installazione di MySQL
Come già menzionato nell’introduzione, il comando Yum per installare MySQL in realtà installa MariaDB. Per installare MySQL, dovremo visitare il repository Yum della comunità MySQL che fornisce pacchetti per MySQL.
In un browser web, visita:
https://dev.mysql.com/downloads/repo/yum/
Nota che i link di download prominenti non conducono direttamente ai file. Invece, portano a una pagina successiva in cui ti viene chiesto di accedere o registrarti per un account. Se non vuoi creare un account, puoi individuare il testo “No, grazie, inizia il mio download”, quindi fare clic con il pulsante destro del mouse e copiare la posizione del link, oppure puoi modificare il numero di versione nei comandi sottostanti.
Individua la versione desiderata e aggiornala se necessario nel link sottostante:
Una volta che il file rpm è stato salvato, verificheremo l’integrità del download eseguendo md5sum
e confrontandolo con il valore MD5 corrispondente elencato sul sito:
Outpute2bd920ba15cd3d651c1547661c60c7c mysql80-community-release-el7-5.noarch.rpm
Confronta questo output con il valore MD5 appropriato sul sito:
Ora che abbiamo verificato che il file non sia stato corrotto o modificato, installeremo il pacchetto:
Questo aggiunge due nuovi repository yum MySQL e ora possiamo usarli per installare il server MySQL:
Premi y
per confermare che desideri procedere. Poiché abbiamo appena aggiunto il pacchetto, verrai anche invitato ad accettare la sua chiave GPG. Premi y
per scaricarla e completare l’installazione.
Passaggio 2 — Avvio di MySQL
Inizieremo il demone con il seguente comando:
systemctl
non visualizza l’esito di tutti i comandi di gestione dei servizi, quindi per essere sicuri di aver avuto successo, useremo il seguente comando:
Se MySQL è stato avviato con successo, l’output dovrebbe contenere Attivo: attivo (in esecuzione)
e l’ultima riga dovrebbe assomigliare a qualcosa del genere:
Nota: MySQL è automaticamente abilitato all’avvio al boot quando viene installato. Puoi modificare tale comportamento predefinito con sudo systemctl disable mysqld
Durante il processo di installazione, viene generata una password temporanea per l’utente root di MySQL. Trovala nel file mysqld.log
con questo comando:
Output2022-01-24T19:54:46.313728Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: mqRfBU_3Xk>r
Fai nota della password, di cui avrai bisogno nel prossimo passaggio per proteggere l’installazione e dove sarai costretto a cambiarla. La policy predefinita della password richiede 12 caratteri, con almeno una lettera maiuscola, una lettera minuscola, un numero e un carattere speciale.
Passaggio 3 — Configurazione di MySQL
MySQL include uno script di sicurezza per modificare alcune delle opzioni predefinite meno sicure per cose come l’accesso remoto di root e gli utenti di esempio.
Usa questo comando per eseguire lo script di sicurezza.
Ti verrà chiesto la password di root predefinita. Appena la inserisci, ti verrà richiesto di cambiarla.
OutputThe existing password for the user account root has expired. Please set a new password.
New password:
Inserisci una nuova password di 12 caratteri che contenga almeno una lettera maiuscola, una lettera minuscola, un numero e un carattere speciale. Reinseriscila quando richiesto.
Riceverai un feedback sulla robustezza della tua nuova password e sarai immediatamente invitato a cambiarla di nuovo. Poiché l’hai appena fatto, puoi tranquillamente dire No
:
OutputEstimated strength of the password: 100
Change the password for root ? (Press y|Y for Yes, any other key for No) :
Dopo aver rifiutato l’invito a cambiare di nuovo la password, premiamo Sì
e quindi INVIO
a tutte le domande successive per rimuovere gli utenti anonimi, impedire l’accesso remoto di root, rimuovere il database di test e l’accesso ad esso e ricaricare le tabelle dei privilegi.
Ora che abbiamo protetto l’installazione, proviamola.
Passaggio 4 — Test di MySQL
Possiamo verificare la nostra installazione e ottenere informazioni su di essa collegandoci con lo strumento mysqladmin
, un client che consente di eseguire comandi amministrativi. Utilizza il seguente comando per connetterti a MySQL come root (-u root
), chiedi una password (-p
), e restituisci la versione.
Dovresti vedere un output simile a questo:
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
Questo indica che l’installazione è avvenuta con successo.
Conclusione
In questo tutorial, abbiamo installato e protetto MySQL su un server CentOS 7. Per saperne di più sull’uso di MySQL, questa guida su come imparare di più sui comandi MySQL può essere utile. Potresti anche considerare l’implementazione di alcune misure di sicurezza aggiuntive.
Source:
https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-centos-7