Come installare mysql su Ubuntu 16.04


8

Sto seguendo questo tutorial sull'oceano digitale per Ubuntu 14.04 per installare mysql su Ubuntu 16.04 per i miei progetti Rails. Forse avevo erroneamente ipotizzato che la procedura sarebbe stata la stessa.

Tuttavia, quando eseguo il comando sudo mysql_install_db, ricevo il seguente errore:

2016-06-15 18:40:36 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
2016-06-15 18:40:36 [ERROR]   The data directory needs to be specified.

Come posso completare l'installazione? Ho seguito con successo la stessa procedura più volte in passato su Ubuntu 14.04.


4
E se fai quello che suggerisce mysqld --initialize:?
Jos

2
@Jos Fornisce il seguente errore:mysqld: Can't create directory '/var/lib/mysql/' (Errcode: 17 - File exists) 2016-06-15T14:00:28.483462Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2016-06-15T14:00:28.484374Z 0 [ERROR] Aborting
Jawad Khawaja,

2
Probabilmente puoi aggirare quel problema eliminando la directory /var/lib/mysqle rieseguendo il --initializeprocesso.
Jos

1
Grazie per questo! Ero preoccupato che potesse causare problemi in quanto conteneva un numero di file. Ma ha funzionato. Ho completato l'installazione ora.
Jawad Khawaja,

@Jos Dovresti pubblicare il tuo commento come risposta.
Byte Commander

Risposte:


9

L'installazione del server MySQL prevede circa tre passaggi: 1) decompressione del software; 2) creazione di un database predefinito; 3) creare un utente / password predefiniti (e memorizzarlo nel database).

In caso di perdita accidentale dei file del database (in genere si trova in /var/lib/mysql), è possibile riavviare senza reinstallare completamente il pacchetto del server. Questo viene fatto con il comando mysqld --initialize. Se si esegue questo comando mentre un database è già in atto, verrà segnalato un errore ("Il file esiste") e non tenterà di sovrascrivere il database. Tuttavia, se non si è sicuri che la procedura di installazione sia stata completata correttamente, è possibile eliminare la directory /var/lib/mysqle inizializzare nuovamente il database.

Il --initializeflag farà sì che MySQL generi un utente root e una password casuale, che viene quindi scritta nel file di registro. Per ulteriori informazioni, vedere man mysqld.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.