Con il rilascio di CentOS 7 MySQL, il sistema di gestione di database relazionali open source più popolare al mondo non è più disponibile nei repository di CentOS e MariaDB è diventato il sistema di database predefinito. MariaDB è una sostituzione binaria drop-in compatibile con le versioni precedenti di MySQL.
In questo tutorial, ti mostreremo come installare MySQL su una macchina CentOS 7.
Se vuoi installare MariaDB invece di MySQL, controlla il nostro tutorial per le istruzioni di installazione.Prerequisiti #
Prima di iniziare con questo tutorial, assicurati di aver effettuato l'accesso al tuo server con un account utente con privilegi sudo o con l'utente root. È buona norma eseguire i comandi amministrativi come utente sudo anziché come root, se non hai un utente sudo sul tuo sistema puoi crearne uno seguendo queste istruzioni.
Come accennato nell'introduzione, MySQL non è disponibile nei repository CentOS 7 predefiniti, quindi installeremo i pacchetti dal MySQL Yum Repository. Nelle sezioni seguenti, ti mostreremo come installare MySQL 8.0 e MySQL 5.7.
Dovresti installare solo una versione di MySQL sul tuo server CentOS 7. Se non sei sicuro di quale versione installare consulta la documentazione delle applicazioni che intendi distribuire sul tuo server.
Installa MySQL 8.0 su CentOS 7 #
Al momento della stesura di questo articolo, l'ultima versione di MySQL è la versione 8.0. Per installarlo sul tuo server CentOS 7 segui i passaggi seguenti:
-
Abilita il repository MySQL 8.0 con il seguente comando:
sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
-
Installa il pacchetto MySQL 8.0 con yum:
sudo yum install mysql-community-server
Durante l'installazione yum potrebbe chiederti di importare la chiave MySQL GPG. Digita
y
e premiEnter
.
Installa MySQL 5.7 su CentOS 7 #
Per installare la versione stabile precedente di MySQL, MySQL versione 5.7 su un server CentOS 7, procedi nel seguente modo:
-
Abilita il repository MySQL 5.7 con il seguente comando:
sudo yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
-
Installa il pacchetto MySQL 5.7 con:
Installa MySQL come qualsiasi altro pacchetto usando yum:
sudo yum install mysql-community-server
Avvio di MySQL #
Una volta completata l'installazione, avvia il servizio MySQL e abilitalo all'avvio automatico all'avvio con:
sudo systemctl enable mysqld
sudo systemctl start mysqld
Possiamo controllare lo stato del servizio MySQL digitando:
sudo systemctl status mysqld
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2018-05-23 11:02:43 UTC; 14min ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 4293 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
Main PID: 4310 (mysqld)
Status: "SERVER_OPERATING"
CGroup: /system.slice/mysqld.service
└─4310 /usr/sbin/mysqld
Messa in sicurezza #
Quando il server MySQL viene avviato per la prima volta, viene generata una password temporanea per l'utente root MySQL. Puoi trovare la password eseguendo il seguente comando:
sudo grep 'temporary password' /var/log/mysqld.log
L'output dovrebbe essere simile a questo:
2018-05-23T10:59:51.251159Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: q&0)V!?fjksL
Prendi nota della password, perché il comando successivo ti chiederà di inserire la password di root temporanea.
Esegui mysql_secure_installation
comando per migliorare la sicurezza della nostra installazione di MySQL:
sudo mysql_secure_installation
Securing the MySQL server deployment.
Enter password for user root:
Dopo aver inserito la password temporanea ti verrà chiesto di impostare una nuova password per l'utente root. La password deve essere lunga almeno 8 caratteri e contenere almeno una lettera maiuscola, una lettera minuscola, un numero e un carattere speciale.
The existing password for the user account root has expired. Please set a new password.
New password:
Re-enter new password:
Lo script chiederà inoltre di rimuovere l'utente anonimo, limitare l'accesso dell'utente root alla macchina locale e rimuovere il database di test. Dovresti rispondere "Y" (sì) a tutte le domande.
Connessione a MySQL dalla riga di comando #
Per interagire con MySQL tramite il terminale utilizzeremo il client MySQL che viene installato come dipendenza del pacchetto del server MySQL.
Per accedere al server MySQL come utente root, digitare:
mysql -u root -p
Ti verrà chiesto di inserire la password di root che hai impostato in precedenza durante mysql_secure_installation
lo script è stato eseguito.
Una volta inserita la password ti verrà presentata la shell mysql come mostrato di seguito:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.11 MySQL Community Server - GPL
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
Crea un database #
Una volta connesso alla shell MySQL, puoi creare un nuovo database digitando il seguente comando:
CREATE DATABASE new_database;
Query OK, 1 row affected (0.00 sec)
Crea tabelle #
Ora che abbiamo creato un database possiamo creare una tabella per memorizzare alcuni dati.
Prima di eseguire le istruzioni SQL per la creazione di una tabella è necessario connettersi al database:
use new_database;
In questo esempio creeremo una semplice tabella denominata contacts
con tre campi, id
, name
e email
:
CREATE TABLE contacts (
id INT PRIMARY KEY,
name VARCHAR(30),
email VARCHAR(30)
);
Query OK, 1 row affected (0.00 sec)