MariaDB è gratuito, open source e uno dei server di database più popolari al mondo. È un fork sviluppato dalla comunità del popolare sistema di gestione di database MySQL. MariaDB fornisce supporto per PHP e utilizza un linguaggio di query standard e popolare. MariaDB viene fornito con un'ampia gamma di motori di archiviazione e diverse ottimizzazioni che possono essere utilizzate per migliorare le prestazioni del database.
In questo tutorial, ti mostreremo come gestire i database in MariaDB su Ubuntu 18.04.
Prerequisiti
- Un nuovo VPS Ubuntu 18.04 sulla piattaforma Atlantic.Net Cloud.
- Una password di root configurata su entrambi i server.
Fase 1:crea un server cloud Atlantic.Net
Per prima cosa, accedi al tuo server Atlantic.Net Cloud. Crea un nuovo server, scegliendo Ubuntu 18.04 come sistema operativo con almeno 2GB di RAM. Collegati al tuo Cloud Server tramite SSH e accedi utilizzando le credenziali evidenziate in alto nella pagina.
Dopo aver effettuato l'accesso al tuo server Ubuntu 18.04, esegui il comando seguente per aggiornare il tuo sistema di base con gli ultimi pacchetti disponibili.
apt-get update -y apt-get upgrade -y
Fase 2 – Installa MariaDB
Innanzitutto, scarica e aggiungi la chiave GPG MariaDB al tuo sistema con il seguente comando:
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
Quindi, aggiungi il repository MariaDB usando il seguente comando:
add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://ftp.utexas.edu/mariadb/repo/10.3/ubuntu bionic main'
Quindi, aggiorna il repository e installa MariaDB utilizzando i seguenti comandi:
apt-get update -y apt-get install mariadb-server -y
Dopo aver installato MariaDB, controlla lo stato di MariaDB con il seguente comando:
systemctl status mariadb
Dovresti vedere il seguente output:
● mariadb.service - MariaDB 10.3.19 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Drop-In: /etc/systemd/system/mariadb.service.d └─migrated-from-my.cnf-settings.conf Active: active (running) since Wed 2019-11-06 04:25:01 UTC; 24s ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Main PID: 4538 (mysqld) Status: "Taking your SQL requests now..." Tasks: 32 (limit: 1114) CGroup: /system.slice/mariadb.service └─4538 /usr/sbin/mysqld Nov 06 04:25:03 ubuntu1804 /etc/mysql/debian-start[4584]: Phase 6/7: Checking and upgrading tables Nov 06 04:25:03 ubuntu1804 /etc/mysql/debian-start[4584]: Running 'mysqlcheck' with connection arguments: --port='3306' --socket='/var/run/mysq Nov 06 04:25:03 ubuntu1804 /etc/mysql/debian-start[4584]: # Connecting to localhost... Nov 06 04:25:03 ubuntu1804 /etc/mysql/debian-start[4584]: # Disconnecting from localhost... Nov 06 04:25:03 ubuntu1804 /etc/mysql/debian-start[4584]: Processing databases Nov 06 04:25:03 ubuntu1804 /etc/mysql/debian-start[4584]: information_schema Nov 06 04:25:03 ubuntu1804 /etc/mysql/debian-start[4584]: performance_schema
Fase 3:crea un nuovo database
Per creare un nuovo database, prima accedi alla shell di MariaDB con il seguente comando:
mysql -u root -p
Immettere la password di root quando richiesto, quindi creare un database con il seguente comando:
CREATE DATABASE db1;
Dopo aver creato un nuovo database, puoi elencare tutti i database con il seguente comando:
SHOW DATABASES;
Dovresti vedere il seguente output:
+--------------------+ | Database | +--------------------+ | db1 | | information_schema | | mysql | | performance_schema | +--------------------+ 4 rows in set (0.002 sec)
Fase 4:crea un nuovo account utente
Puoi creare un nuovo account utente MariaDB eseguendo il comando seguente:
CREATE USER 'dbuser'@'localhost' IDENTIFIED BY 'yourpassword';
In questa riga, le variabili sono definite come segue:
dbuser :Il nome dell'utente MariaDB.
host locale :Questa opzione specifica che l'utente può connettersi al server MariaDB solo dal localhost.
la tua password :la password dell'utente MariaDB.
Se desideri modificare la password dell'account utente MariaDB, esegui il comando seguente:
ALTER USER 'dbuser'@'localhost' IDENTIFIED BY 'yournewpassword';
Per elencare tutti gli account utente MariaDB, eseguire il comando seguente:
SELECT user, host FROM mysql.user;
Dovresti ottenere il seguente output:
+------------------+-----------+ | user | host | +------------------+-----------+ | root | 127.0.0.1 | | root | ::1 | | dbuser | localhost | | debian-sys-maint | localhost | | root | localhost | +------------------+-----------+ 5 rows in set (0.003 sec)
Fase 5 – Concedi privilegi all'account utente
Puoi concedere più tipi di privilegi all'account utente MariaDB.
Per concedere tutti i privilegi a un utente (dbuser) su un database specifico (db1), eseguire il comando seguente:
GRANT ALL PRIVILEGES ON db1.* TO 'dbuser'@'localhost';
Per concedere tutti i privilegi a un utente (dbuser) su tutti i database, eseguire il comando seguente:
GRANT ALL PRIVILEGES ON *.* TO 'dbuser'@'localhost';
Per concedere solo privilegi specifici a un utente (dbuser) su un database specifico (db1), eseguire il comando seguente:
GRANT SELECT, INSERT, DELETE ON db1.* TO [email protected]'localhost';
Puoi vedere tutti i privilegi concessi a un account utente specifico con il seguente comando:
SHOW GRANTS FOR 'dbuser'@'localhost';
Dovresti vedere il seguente output:
+------------------------------------------------------------------------------------------------------------------------+ | Grants for [email protected] | +------------------------------------------------------------------------------------------------------------------------+ | GRANT ALL PRIVILEGES ON *.* TO 'dbuser'@'localhost' IDENTIFIED BY PASSWORD '*7F99F4477B835ED95816BC01E9823771AE2A3F1C' | | GRANT ALL PRIVILEGES ON `db1`.* TO 'dbuser'@'localhost' | +------------------------------------------------------------------------------------------------------------------------+ 2 rows in set (0.000 sec)
Fase 6 – Eliminazione di database e utenti
Puoi eliminare un database con il seguente comando:
DROP DATABASE db1;
Per eliminare un account utente, eseguire il comando seguente:
DROP USER 'dbuser'@'localhost';
Passaggio 7:reimposta la password principale di MariaDB
Se hai dimenticato la tua password di root MariaDB, puoi recuperarla facilmente seguendo i passaggi seguenti.
Innanzitutto, arresta il servizio MariaDB in esecuzione con il seguente comando:
systemctl stop mariadb
Successivamente, dovrai avviare il servizio MariaDB con l'opzione –skip-grant-tables. Ciò ti consentirà di connetterti al server del database senza una password:
Puoi avviare il servizio MariaDB senza caricare le tabelle di concessione eseguendo il comando seguente:
mysqld_safe --skip-grant-tables &
Ora puoi connetterti al server MariaDB come utente root senza una password come mostrato di seguito:
mysql -u root
Dopo aver eseguito correttamente l'accesso, esegui il seguente comando per reimpostare la password di root:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your-new-password'; FLUSH PRIVILEGES;
Se il comando precedente non funziona, esegui il comando seguente:
UPDATE mysql.user SET authentication_string = PASSWORD('your-new-password') WHERE User = 'root' AND Host = 'localhost'; FLUSH PRIVILEGES;
Quindi, arresta il servizio MariaDB e avvialo normalmente con i seguenti comandi:
mysqladmin -u root -p shutdown
Fornisci la tua password di root quando ti viene richiesto di interrompere il servizio MariaDB.
Quindi, avvia normalmente il servizio MariaDB con il seguente comando:
systemctl start mariadb
Conclusione
Nel tutorial sopra, abbiamo imparato come creare e gestire database e account utente in MariaDB. Abbiamo anche imparato come reimpostare la password di root di MariaDB. Per ulteriori informazioni, visita la documentazione ufficiale di MariaDB su MariaDB Doc.