Erreur lors de l'installation de mySql sur Ubuntu 16.04

15

J'ai suivi les instructions de cette page pour installer mysql sur Ubuntu 16.04.

Je suis à mi-chemin de cette page dans la section intitulée "MySQL Install and Configure" et j'exécute la commande sudo apt-get install mysql-server. J'ai cependant rencontré une erreur, voici la sortie de cette erreur dans mon terminal:

Preconfiguring packages ...
Selecting previously unselected package mysql-common.
(Reading database ... 41515 files and directories currently installed.)
Preparing to unpack .../mysql-common_5.7.12-0ubuntu1_all.deb ...
Unpacking mysql-common (5.7.12-0ubuntu1) ...
Selecting previously unselected package mysql-client-5.7.
Preparing to unpack .../mysql-client-5.7_5.7.12-0ubuntu1_amd64.deb ...
Unpacking mysql-client-5.7 (5.7.12-0ubuntu1) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up mysql-common (5.7.12-0ubuntu1) ...
update-alternatives: using /etc/mysql/my.cnf.fallback to provide /etc/mysql/my.cnf (my.cnf) in auto mode
Selecting previously unselected package mysql-server-5.7.
(Reading database ... 41563 files and directories currently installed.)
Preparing to unpack .../mysql-server-5.7_5.7.12-0ubuntu1_amd64.deb ...
Unpacking mysql-server-5.7 (5.7.12-0ubuntu1) ...
Selecting previously unselected package mysql-server.
Preparing to unpack .../mysql-server_5.7.12-0ubuntu1_all.deb ...
Unpacking mysql-server (5.7.12-0ubuntu1) ...
Processing triggers for ureadahead (0.100.0-19) ...
Processing triggers for systemd (229-4ubuntu4) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up mysql-client-5.7 (5.7.12-0ubuntu1) ...
Setting up mysql-server-5.7 (5.7.12-0ubuntu1) ...
update-alternatives: using /etc/mysql/mysql.cnf to provide /etc/mysql/my.cnf (my.cnf) in auto mode
mysql_upgrade: Got error: 1045: Access denied for user 'debian-sys-maint'@'localhost' (using password: YES) while connecting to the MySQL server
Upgrade process encountered error and will not continue.
mysql_upgrade failed with exit status 11
dpkg: error processing package mysql-server-5.7 (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of mysql-server:
 mysql-server depends on mysql-server-5.7; however:
  Package mysql-server-5.7 is not configured yet.

dpkg: error processing package mysql-server (--configure):
 dependency problems - leaving unconfigured
Processing triggers for ureadahead (0.100.0-19) ...
Processing triggers for systemd (229-4ubuntu4) ...
Errors were encountered while processing:
 mysql-server-5.7
 mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

C'est la première fois que je configure un serveur et installe également mysql. Je ne sais pas si cela peut être une cause possible de l'erreur, mais j'avais précédemment essayé d'installer mysql mais sans suivre le processus LAMP (je suis en train de le comprendre) et cela n'a pas réussi et j'ai dû désinstaller.

Darren Haynes
la source
Bienvenue sur AskUbuntu. Dans votre journal, il y a une ligne Access denied for user 'debian-sys-maint'@'localhost'. D'où vient cet utilisateur? Je ne m'attendrais pas à le trouver sur un système Ubuntu.
guntbert
Salut guntbert - avec un peu de recherche, il semble que son debian.cnffichier. J'ai trouvé ce stackoverflow.com/questions/11644300/… - et en regardant la réponse qui a obtenu 47 points (pas la réponse acceptée) il y a une incompatibilité de mot de passe. Je lui donne un coup de feu - sans succès, car je ne sais pas quel mot de passe est quoi!
Darren Haynes
Cette réponse me résout le problème sans purger mysql: /ubuntu//a/793545/597698
Elkana Bardugo

Réponses:

17

Cette réponse est également en réponse à la mise à niveau 16.04 a cassé le serveur mysql mais auquel je ne peux pas répondre car l'administrateur l'a verrouillé à 10 points de réputation.

L'erreur dans APT se produit lors de la mise à niveau d'Ubuntu vers 16.04 (xenial) et Mysql de 5.5 à 5.7. En raison de certains problèmes d'emballage, la mise à niveau d'APT se termine dans les limbes car le script de post-installation de Mysql-server-5.7 ne se termine pas.

Pour résoudre le problème, essayez ces étapes:

  1. apt purge mysql-server et apt autoremovepour nettoyer toutes les traces de l'ancien MYSQL. Les données de la base de données ne seront pas détruites.
  2. Supprimez tout du /etc/mysqlrépertoire.
  3. Vérifiez qu'il ne reste plus d'anciens packages Mysql installés: dpkg -l | grep mysql
  4. apt install mysql-server à installer

Si ces étapes se terminent par la même installation incomplète, essayez l'étape suivante:

  1. Tail -n 20 /var/log/mysql/error.log
  2. Les erreurs pourraient être a. mot de passe incorrect pour debian-sys-maint b. pas de mémoire pour Innodb

Résoudre 2a: vous devez mettre à niveau les tables système Mysql de 5.5 à 5.7

Modifiez my.cnf pour inclure sous '[mysqld]' la ligne "skip-grant-tables" service mysql start, etmysql_upgrade --force -u root -p

Résoudre 2b: Vous manquez de mémoire pour le pool Mysql Innodb (êtes-vous sur un serveur de micro-taille?)

Modifiez my.cnf pour inclure sous '[mysqld]' la ligne innodb_buffer_pool_size = 20M

le pool innodb par défaut est de 128 Mo, ce qui est serré dans une machine virtuelle de 512 Mo

Pour effacer l'erreur APT, refaites la post-installation

dpkg --configure -a
Kaceo
la source
Va-t-il supprimer des bases de données ou restera-t-il en sécurité?
Thirumal
5

Supprimer complètement mysql et réinstaller était la solution à laquelle je suis finalement parvenu. Bien que j'aie essayé de désinstaller et réinstaller une fois sans succès (m'amenant ainsi à poser cette question). J'ai essayé une désinstallation plus approfondie après avoir trouvé les conseils sur cette page: Désinstaller complètement MySQL

Le fait de suivre les instructions de désinstallation et de réinstaller a résolu le problème.

Darren Haynes
la source
5

Une autre bonne solution:

sudo apt-get purge mysql* && sudo apt-get install mysql-server
Pat McSherry
la source
3

Cela a fonctionné pour moi:

sudo apt-get remove --purge mysql*

Cette commande vous demandera si vous souhaitez SUPPRIMER vos bases de données/var/lib/mysql et supprimera également toutes les autres instances de mysql!

Alors , faire une sauvegarde de vos bases de données d' abord!

Après cela, j'ai pu installer la base de données en émettant la commande:

sudo apt-get install mysql-server
Michal Przybylowicz
la source
1

Essayez de supprimer tous les packages et fichiers, puis réinstallez le "serveur mysql"

sudo apt-get remove --purge mysql-\*
sudo rm -rf /var/lib/mysql

sudo apt-get install mysql-server 
Spl2nky
la source
1

Vous devez d'abord supprimer tous les paquets de mysql-server:

sudo rm -rf /var/lib/mysql

Installez ensuite:

sudo apt-get install lamp-server^

Ou vous pouvez faire:

sudo apt-get install mysql-server
Tarunkant Gupta
la source
1
Veuillez ne pas poster rm -rf sans dire quel type d'informations cette commande détruira.
Brian Ng