GNU/Linux >> Linux Esercitazione >  >> Linux

Installa un server MariaDB su CentOS

Con il rilascio di CentOS 7, MariaDB ha sostituito MySQL come sistema di database predefinito. MariaDB è stato creato dagli sviluppatori originali di MySQL ed è un sostituto drop-in migliorato di MySQL con equivalenza binaria della libreria e corrispondenza esatta con le API e i comandi MySQL.

Questo articolo descrive un'installazione di base di un server di database MariaDB su CentOS Linux. Potrebbe essere necessario installare altri pacchetti per consentire alle applicazioni di utilizzare MariaDB, come le estensioni per PHP. Controlla la documentazione della tua domanda per i dettagli.

Installa il server del database

Segui i passaggi in questa sezione per installare il server del database principale.

Installa MariaDB

Installa il server MariaDB tramite il gestore di pacchetti CentOS (yum) eseguendo il comando seguente al prompt dei comandi:

sudo yum install mariadb-server

Consenti accesso remoto

Esegui il comando seguente per consentire l'accesso remoto:

firewall-cmd --zone=public --add-service=mysql --permanent

Imposta la password di root

Poiché hai appena installato il server del database MariaDB, l'account root non ha una password impostata. Utilizzare il comando seguente per impostare la password di root e altre impostazioni importanti:

/usr/bin/mysql_secure_installation

Avvia e arresta il servizio database

Al termine dell'installazione, è possibile avviare il servizio database utilizzando i comandi in questa sezione. Se il sistema è già avviato, un messaggio ti informa che il servizio è già in esecuzione.

Utilizzare il comando seguente per avviare MariaDB:

sudo systemctl start mariadb.service

Utilizzare il comando seguente per interrompere MariaDB:

sudo systemctl stop mariadb.service

Avvia al riavvio

Per garantire che il server del database si avvii dopo un riavvio, è necessario abilitare chkconfig utilità. Utilizzare il comando seguente per eseguire questa operazione:

sudo systemctl enable mariadb.service

Avvia la shell MariaDB

C'è più di un modo per lavorare con un server MariaDB, ma questo articolo si concentra sull'approccio più semplice e compatibile:il mariadb guscio.

  1. Al prompt dei comandi, eseguire il comando seguente per avviare la shell e immetterla come utente root:

     /usr/bin/mysql -u root -p
    
  2. Quando ti viene richiesta una password, inserisci quella che hai impostato durante l'installazione o, se non l'hai impostata, premi Invio per inviare nessuna password.

    Dovrebbe apparire il seguente prompt della shell:

    MariaDB [(none)]>
    

Visualizza utenti

MariaDB e MySQL memorizzano le informazioni sugli utenti nei propri database. Il nome del database è mysql . All'interno di quel database, le informazioni sull'utente si trovano in una tabella, un set di dati denominato utente . Se vuoi vedere quali utenti sono impostati nella tabella utente di MySQL, esegui il seguente comando:

SELECT User, Host, Password FROM mysql.user;

L'elenco seguente descrive le parti di quel comando:

  • SELEZIONA dice a MySQL che stai chiedendo dati.
  • Utente, Host, Password dice a MySQL in quali campi vuoi che guardi. I campi sono categorie per i dati in una tabella. In questo caso, stai cercando il nome utente, l'host associato al nome utente e la password crittografata.
  • DA mysql.user dice a MySQL di ottenere i dati da mysql database e l'utente tabella.
  • Un punto e virgola (;) termina il comando.

host utente

L'esempio seguente è l'output della query precedente:

SELECT User, Host, Password FROM mysql.user;
+------------------+-----------+-------------------------------------------+
| User             | Host      | Password                                  |
+------------------+-----------+-------------------------------------------+
| root             | localhost | *756FEC25AC0E1823C9838EE1A9A6730A20ACDA21 |
| root             | 127.0.0.1 | *756FEC25AC0E1823C9838EE1A9A6730A20ACDA21 |
| root             | ::1       | *756FEC25AC0E1823C9838EE1A9A6730A20ACDA21 |
+------------------+-----------+-------------------------------------------+

Gli utenti sono associati a un host, in particolare all'host a cui si connettono. L'utente root in questo esempio è definito per localhost , per l'indirizzo IP di localhost e il nome host del server. Di solito devi impostare un utente solo per l'host da cui ti connetti in genere.

Se stai eseguendo la tua applicazione sullo stesso computer del server MariaDB, l'host a cui si connette per impostazione predefinita è localhost . Tutti i nuovi utenti che crei devono avere localhost nel loro host campo.

Se la tua applicazione si connette in remoto, l'host la voce che MariaDB cerca è l'indirizzo IP o il nome host DNS del computer remoto (quello da cui proviene il client).

Crea un database

C'è una differenza tra un server di database e un database , anche se questi termini sono spesso usati in modo intercambiabile. MariaDB è un server di database, il che significa che tiene traccia dei database e controlla l'accesso ad essi. Il database memorizza i dati ed è il database a cui le applicazioni tentano di accedere quando interagiscono con MariaDB.

Alcune applicazioni creano un database come parte del loro processo di configurazione, ma altre richiedono che tu crei un database e ne parli all'applicazione.

Per creare un database, accedi a mariadb shell ed eseguire il comando seguente, sostituendo demodb con il nome del database che vuoi creare:

CREATE DATABASE demodb;

Il database viene creato. Puoi verificarne la creazione eseguendo una query per elencare tutti i database. L'esempio seguente mostra la query e l'output di esempio:

SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| demodb             |
| mysql              |
+--------------------+
3 rows in set (0.00 sec)

Gestisci utenti e privilegi

Utilizzare le istruzioni in questa sezione per aggiungere utenti al database e per concedere e revocare i privilegi.

Aggiungi utenti e privilegi

Quando le applicazioni si connettono al database utilizzando l'utente root, di solito hanno più privilegi di quelli necessari. È possibile creare un nuovo utente che le applicazioni possono utilizzare per connettersi al nuovo database. Nell'esempio seguente, un utente denominato demouser viene creato.

Per creare un nuovo utente, esegui il seguente comando in mariadb guscio:

CREATE USER 'demouser'@'localhost' IDENTIFIED BY 'demopassword';

Puoi verificare che l'utente sia stato creato eseguendo nuovamente una query SELECT:

SELECT User, Host, Password FROM mysql.user;
+----------+-----------+------------------------------------------+
| User     | Host      | Password                                 |
+----------+-----------+------------------------------------------+
| root     | localhost | 2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
| root     | demohost  | 2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
| root     | 127.0.0.1 | 2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
| demouser | localhost | 0756A562377EDF6ED3AC45A00B356AAE6D3C6BB6 |
+----------+-----------+------------------------------------------+

Concedi i privilegi dell'utente del database

Subito dopo aver creato un nuovo utente, non ha privilegi. L'utente può essere utilizzato per accedere a MariaDB, ma non per apportare modifiche al database.

  1. Assegna all'utente i privilegi completi per il tuo nuovo database eseguendo il comando seguente:

    GRANT ALL PRIVILEGES ON demodb.* to demouser@localhost;
    
  2. Elimina i privilegi per rendere effettiva la modifica.

    FLUSH PRIVILEGES;
    
  3. Per verificare che i privilegi siano stati impostati, eseguire il comando seguente:

    SHOW GRANTS FOR 'demouser'@'localhost';
    

    MariaDB restituisce i comandi necessari per riprodurre i privilegi di quell'utente se dovessi ricostruire il server. USAGE on \*.\* significa che l'utente non ottiene privilegi su nulla per impostazione predefinita. Quel comando è sovrascritto dal secondo comando, che è la concessione che hai eseguito per il nuovo database.

     +-----------------------------------------------------------------------------------------------------------------+
     | Grants for demouser@localhost                                                                                   |
     +-----------------------------------------------------------------------------------------------------------------+
     | GRANT USAGE ON *.* TO 'demouser'@'localhost' IDENTIFIED BY PASSWORD '*0756A562377EDF6ED3AC45A00B356AAE6D3C6BB6' |
     | GRANT ALL PRIVILEGES ON `demodb`.* TO 'demouser'@'localhost'                                                    |
     +-----------------------------------------------------------------------------------------------------------------+
     2 rows in set (0.00 sec)
    

Revocare i privilegi

A volte potrebbe essere necessario revocare (rimuovere) i privilegi di un utente. Ad esempio, supponi di concedere ALL privilegi a 'demouser'@'localhost', ma hai accidentalmente concesso privilegi anche a tutti gli altri database, come mostrato nei seguenti comandi:

+-----------------------------------------------------------------------------------------------------------------+
| Grants for demouser@localhost                                                                                   |
+-----------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'demouser'@'localhost' IDENTIFIED BY PASSWORD '*0756A562377EDF6ED3AC45A00B356AAE6D3C6BB6' |
| GRANT ALL PRIVILEGES ON *.* TO 'demouser'@'localhost'                                                           |
+-----------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

Per correggere l'errore, puoi utilizzare un REVOKE dichiarazione, seguita da GRANT per applicare i privilegi corretti.

REVOKE ALL ON *.* FROM demouser@localhost;
GRANT ALL PRIVILEGES ON demodb.* to demouser@localhost;
SHOW GRANTS FOR 'demouser'@'localhost';

+-----------------------------------------------------------------------------------------------------------------+
| Grants for demouser@localhost                                                                                   |
+-----------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'demouser'@'localhost' IDENTIFIED BY PASSWORD '*0756A562377EDF6ED3AC45A00B356AAE6D3C6BB6' |
| GRANT ALL PRIVILEGES ON 'demodb'TO 'demouser'@'localhost'                                                           |
+-----------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

Ora il tuo utente ha i privilegi corretti e il tuo server di database è leggermente più sicuro (concedendo privilegi come ALL on *.* è considerata una pessima pratica). Dovresti anche leggere la documentazione ufficiale di MariaDB relativa alle possibili scelte di privilegi, per concedere solo quei privilegi veramente necessari, invece di usare ALL .

Riepilogo

Se stai solo creando un database e un utente, hai finito. I concetti trattati in questo articolo dovrebbero darti un solido inizio da cui imparare di più.


Linux
  1. Installare MariaDB su CentOS 7 Server - Processo passo dopo passo?

  2. Cose da fare su un'installazione del server Fresh Centos 8

  3. Installa MariaDB su CentOS 6.4

  4. Installa Sentora su CentOS 7

  5. Installa BigTree su CentOS 7

Installa MariaDB su CentOS 7

Come installare MariaDB su CentOS 8

2 modi per installare MariaDB su CentOS 7

Come installare Zabbix Server 5.0 / 4.0 su CentOS 8 / RHEL 8

Come installare il server LAMP su CentOS 8

Come installare il server LEMP su CentOS 8