This is a read-only copy of the MariaDB Knowledgebase generated on 2024-12-22. For the latest, interactive version please visit https://mariadb.com/kb/.

Installare le tabelle di sistema (mysql_install_db)

mysql_install_db crea le tabelle di sistema nel database 'mysql'. MariaDB utilizza queste tabelle per gestire i permessi degli utenti e fornire i dati per il comando 'help' nel client mysql.

L'utilizzo generico è:

mysql_install_db --user=mysql

Ecco l'elenco delle opzioni di mysql_install_db:

--basedir=percorsoIl percorso della directory di installazione di MariaDB
--builddir=percorsoSe si usa '--srcdir' e le build non si trovano nella stessa directory, occorre specificare il percorso in cui si trovano
--cross-bootstrapPer uso interno. Serve per creare le tabelle di sistema su un host differente
--datadir=percorsoIl percorso della directory dei dati
--forceForza mysql_install_db a girare anche se il DNS non funziona. In questo caso, le voci della tabella grant che normalmente utilizzano gli hostname, useranno gli indirizzi IP
--ldata=percorsoIl percorso della directory dei dati. Sinonimo di '--datadir'.
--no-defaultsNon legge i file di configurazione (my.cnf)
--defaults-file=percorsoLegge solo il file di configurazione specificato
--rpmPer uso interno. Usata dai file RPM durante il processo di installazione
--skip-name-resolveUtilizza gli indirizzi IP invece degli hostname nel creare le voci della tabella grant. Utile se il DNS non funziona
--srcdir=percorsoIl percorso alla directory dei sorgenti di MariaDB. Questa opzione utilizza i binari compilati e supporta i file nel ramo dei sorgenti, utile se si desidera installare le tabelle di sistema senza installare (per il momento) MariaDB
--user=nome_utenteIl nome utente che deve essere usato da mysqld. I file e le directory creati da mysqld apperterranno a questo utente. Questa opzione può essere usata solo da root. Per default mysqld utilizza l'utente corrente, al quale apparterranno i file e le directory creati

mysql_install_db legge i gruppi [mysqld] e [mysql_install_db] da my.cnf. In MariaDB 5.2 e successivi mysql_install_db legge anche i gruppi [mariadb] e [client-server].

mysql_install_db avvia il server mysqld in modalità --bootstrap e invia i comandi necessari per creare e popolare le tabelle di sistema.

Se si verifica un errore, occorrerà esaminare i log (file *.err) nella directory dei dati (quella specificata con --datadir) per individuare il problema.

E' possibile verificare se vi è un errore generico di mysqld avviandolo in questo modo:

mysqld --skip-grant --general-log

Si utilizzi poi il comando mysql (che nelle installazioni da tarball di solito si trova in /usr/local/mysql/bin/mysql) per accedere al database mysql e controllare le tabelle:

shell> /usr/local/mysql/bin/mysql -u root mysql
MariaDB [mysql]> show tables

Installare una distribuzione binaria

Se si installa un file tar in un percorso non standard, come la propria home directory, e si ha già una precedente versione di MySQL / MariaDB installata, è possibile che si creino dei conflitti con il file my.cnf dentro /etc/. Spesso questo crea degli errori relativi ai permessi.

Una soluzione può essere eseguire il seguente comando dalla directory di installazione:

./scripts/mysql_install_db --no-defaults --basedir=. --datadir=data

Oppure si può specificare nel file di configurazione (che contiene i percorsi corretti):

./scripts/mysql_install_db --defaults-file=~/.my.cnf

Si veda anche

Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.