Installare MySQL su CentOS 7.0
Dove eravamo rimasti?
All’inizio del 2010 si conclude il processo di acquisizione di Sun Microsystems da parte di Oracle. Nel mondo dell’IT si accentua una generale preoccupazione in merito al destino di MySQL. Quali sono le intenzioni della nota azienda produttrice degli altrettanto noti DBMS commerciali? MySQL continuerà ad essere open source? verrà ancora sviluppato?
Michael “Monty” Widenius, padre di MySQL, già nel 2009 aveva lanciato una petizione per opporsi alla fusione; quando però l’acquisizione sembrò inevitabile diede inizio al progetto MariaDB, un folk di MySQL.
Nel 2012 nasce la MariaDB Foundation, con lo scopo di garantire che MariaDB continui a essere un software libero.
MariaDB comincia a diffondersi, e nel 2014 Red Hat sostituisce MySQL con MariaDB nella versione 7 di Red Hat Enterprise Linux, scelta che si riflette anche sulla controparte Community, CentOS.
Che fine ha fatto MySQL? continua ad esistere. Dalla versione 5.5 include estensioni commerciali nella edizione Enterprice, mentre la versione Community rimane un software libero, per il momento…
CentOS 7 e MySQL, c’eravamo tanto amati…
Anche se RedHat ha preso le distanze, Oracle continua (per ovvie ragioni commerciali) a supportare le varie piattaforme con il cappello.
In questa breve guida introduttiva vediamo come installare l’ultima versione di MySQL su CentOS 7.0 e come procedere alle prime operazioni post installazione.
Installazione
Installiamo il repository per yum:
# yum install http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm # yum update
Quindi procediamo con l’installazione
# yum install mysql-server
Avviamo il servizio e assicuriamoci che sia impostato per l’esecuzione automatica all’avvio del server
# systemctl start mysqld.service # systemctl enable mysqld.service
MySQL 5.7 e password di root
Nelle versioni precedenti di MySQL, finita l’installazione e avviato il servizio, era possibile accedere con l’utente root senza usare la password. Il Sysadmin avrebbe provveduto a impostarne una durante le prime fasi di configurazione.
Nella versione 5.7 di MySQL la password di root viene generata automaticamente durante il primo avvio. Possiamo recuperarla dal file log in questo modo:
# grep 'temporary password' /var/log/mysqld.log 2016-10-22T09:14:59.888375Z 1 [Note] A temporary password is generated for root@localhost: la#gkah
Una installazione sicura
Questo passaggio potrebbe essere superfluo se stiamo lavorando in un ambiente di sviluppo. In ambito produttivo è invece fortemente raccomandato eseguire una iniziale “messa in sicurezza”:
# mysql_secure_installation
Questa procedura guidata permette di re-impostare la password per l’amministratore di sistema, di rimuovere gli accessi esterni, gli accessi anonimi e di eliminare il database test.
Firewall
Se non è strettamente necessario, a mio parere, è sconsigliabile esporre MySQL verso la rete pubblica (porta 3306). In uno scenario tipo, prevediamo una rete interna nella quale il server su cui gira MySQL condivide il proprio servizio con gli altri sistemi. Se è presente una rete che espone il server all’esterno, attiveremo solamente il servizio ssh per scopi amministrativi. E’ comunque possibile accedere al servizio MySQL attraverso ssh.
# firewall-cmd --zone=internal --list-services mdns ssh # firewall-cmd --zone=internal --permanent --add-service=mysql success # firewall-cmd --reload success firewall-cmd --zone=internal --list-services mdns mysql ssh