Comment installer mysql sur Ubuntu 16.04

8

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.

Jawad Khawaja
la source
4
Et si vous faites ce qu'il suggère mysqld --initialize:?
Jos
2
@Jos Il donne l'erreur suivante: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
Vous pouvez probablement contourner ce problème en supprimant le répertoire /var/lib/mysqlet en réexécutant le --initializeprocessus.
Jos
1
Merci pour ça! J'avais peur que cela puisse causer des problèmes car il contenait un certain nombre de fichiers. Mais ça a marché. J'ai terminé l'installation maintenant.
Jawad Khawaja
@Jos Vous devez poster votre commentaire comme réponse.
Byte Commander

Réponses:

9

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 commande mysqld --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/mysqlet réinitialiser la base de données.

L' --initializeindicateur 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, voir man mysqld.

Jos
la source
5

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

Faisal M
la source