Abbiamo visto come installare il Database MariaDB che è un fork di MySQL, comprato alcuni anni fa da Oracle.
Ma non possiamo installare nessuna versione MySQL 8 Genuine (originale) sul nostro Server CentOS 7?
Vediamo come fare di seguito
Per prima cosa, ovviamente, dobbiamo aver installato il Server Web (nel nostro caso specifico) come descritto nel post
Server Aruba Cloud - CentOS 7 - Installare un Web Server LAMP multi PHP (PHP 5.6 e PHP 7.3)
ed aver fatto accesso come Super Utente root
Faccio ciò, per prioma cosa installiamo per prima cosa il wget, un programma che ci consente di scaricare dati in locale da Web
yum -y install wget
poi scarichiamo dal sito MySQL (Oracle) il seguente RPM per Red Hat Linux 7 (di cui CentOS 7 è la versione free senza supporto)
wget https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm
A questo punto installiamo il pacchetto RPM (che si trova in locale nella cartella root)
yum -y localinstall mysql80-community-release-el7-11.noarch.rpm
Installiamo il Server DataBase
sudo yum -y install mysql-community-server
Facciamo partire il Server DataBase
systemctl start mysqld
Al lettore attento non sarà sfuggito che in questa configurazione manca una delle cose fondamentali: la password di root
Durante l'installazione il sistema inserisce una password temporanea nel file di log che deve essere cambiata
sudo grep 'temporary password' /var/log/mysqld.log
QuUi leggiamo la password temporanea che il sistema ha generato per il primo avvio
Come possiamo osservare dall'immagine compare la seguente schermata (ultime righe)
sudo grep 'temporary password' /var/log/mysqld.log
2024-04-05T10:19:55.236084Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: yfvIEgPtq5&e
La Password che è stata generata quella sottolineata: yfvIEgPtq5&e
A questo punto possiamo accedere in modalità superutente e modificare la password con quella che è più confacente a noi, usando il comando
mysql -u root -p
alla richiesta password inserire quella che il sistema ha generato, nel caso specifico: yfvIEgPtq5&e
per cambiare al password a nostro piacimento, ad esempio come la seguente riga
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'MyNewPass4!';
Comando leggermente differente dal più canonico
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
in quanto questo comando genera problemi con la gestione di PHPMyAdmin che serve a gestire il database mediante web con interfaccia grafica
Fatta la modifica, usciamo dalla consolle (digitando exit) e riaccediamo con la nuova password per test
A questo punto installiamo PHPMyAdmin sul Server come riportato nell'apposito paragrafo in questo post
Server Aruba Cloud - CentOS 7 - Installare MariaDB Server e PHPMyAdmin
ed accediamo al sistema da web
Può verificarsi che quando si accede possa dare un errore di questo tipo
Ma è relativo solo alla codifica utf8 che potrebbe non essere presente sul server (clicca sull'immagine per ingrandire)
A questo punto abbiamo installato il database MySQL Genuine
Per creare un nuovo utente
Si potrebbe usare l'interfaccia grafica di PHPMyAdmin, ma può generare qualche errore (lo stesso di cui sopra)
Quindi conviene accedere come visto
mysql -u root -p
e creare l'utente a mano da consolle:
CREATE USER xyz@localhost IDENTIFIED WITH mysql_native_password BY 'Passw0rd!';
Per cancellare a mano un utente da consolle
DROP USER xyz@localhost;
Riferimenti MySQL
https://dev.mysql.com/downloads/
https://downloads.mysql.com/archives/community/
https://dev.mysql.com/downloads/repo/yum/
https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/
Commenti