Je suis ce tutoriel océan numérique pour Ubuntu 14.04 pour installer mysql sur Ubuntu 16.04 pour mes projets Rails. J'avais, peut-être à tort, supposé que la procédure serait la même.
Cependant, lorsque j'exécute la commande sudo mysql_install_db
, je reçois l'erreur suivante:
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.
Comment puis-je terminer la configuration? J'ai suivi avec succès la même procédure plusieurs fois dans le passé sur Ubuntu 14.04.
mysqld --initialize
:?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
/var/lib/mysql
et en réexécutant le--initialize
processus.Réponses:
L'installation du serveur MySQL comprend environ trois étapes: 1) déballage du logiciel; 2) créer une base de données par défaut; 3) créer un utilisateur / mot de passe par défaut (et le stocker dans la base de données).
Si vous perdez accidentellement les fichiers de base de données (généralement situés dans
/var/lib/mysql
), vous pouvez recommencer sans réinstaller complètement le package serveur. Cela se fait avec la commandemysqld --initialize
. Si vous exécutez cette commande alors qu'une base de données est déjà en place, elle signalera une erreur ("Le fichier existe") et ne tentera pas de remplacer la base de données. Cependant, si vous ne savez pas si la procédure d'installation s'est terminée correctement, vous pouvez supprimer le répertoire/var/lib/mysql
et réinitialiser la base de données.L'
--initialize
indicateur provoquera MySQL pour générer un utilisateur root et un mot de passe aléatoire, qui est ensuite écrit dans le fichier journal. Pour plus d'informations, voirman mysqld
.la source
Vérifiez d'abord la version de Mysql en utilisant
mysql --version
.Si vous disposez de la version 5.7.6 ou ultérieure, le répertoire de données serait initialisé automatiquement et ne nécessiterait pas l'exécution
sudo mysql_install_db
.quelques informations supplémentaires sur l'installation de mysql sur le serveur DigitalOcean se trouvent sur https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-14-04
la source