web-dev-qa-db-fra.com

Installation de mysql-server après l'échec de mariadb

Utiliser Kubuntu 17.04. J'ai essayé d'installer mariadb, ce qui ne fonctionnait pas, j'essaie maintenant de revenir à mysql. Cependant, lorsque j'essaie d'installer mysql, il ne fonctionne plus non plus:

~# apt-get install mysql-server
Reading package lists... Done
Building dependency tree       
Reading state information... Done
mysql-server is already the newest version (5.7.19-0ubuntu0.17.04.1).
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies.
 mysql-server : Depends: mysql-server-5.7 but it is not going to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

Alors j'ai essayé le --fix-broken:

~# apt-get --fix-broken install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following additional packages will be installed:
  mysql-server-5.7
Suggested packages:
  tinyca
The following NEW packages will be installed
  mysql-server-5.7
0 to upgrade, 1 to newly install, 0 to remove and 0 not to upgrade.
5 not fully installed or removed.
Need to get 3,363 kB of archives.
After this operation, 50.0 MB of additional disk space will be used.
Do you want to continue? [Y/n] 
Get:1 http://gb.archive.ubuntu.com/ubuntu zesty-updates/main AMD64 mysql-server-5.7 AMD64 5.7.19-0ubuntu0.17.04.1 [3,363 kB]
Fetched 3,363 kB in 1s (3,049 kB/s)           
Preconfiguring packages ...
Selecting previously unselected package mysql-server-5.7.
(Reading database ... 304498 files and directories currently installed.)
Preparing to unpack .../mysql-server-5.7_5.7.19-0ubuntu0.17.04.1_AMD64.deb ...
Failed to stop mysql.service: Unit mysql.service not loaded.
invoke-rc.d: initscript mysql, action "stop" failed.
invoke-rc.d returned 5
There is a MySQL server running, but we failed in our attempts to stop it.
Stop it yourself and try again!
dpkg: error processing archive /var/cache/apt/archives/mysql-server-5.7_5.7.19-0ubuntu0.17.04.1_AMD64.deb (--unpack):
 subprocess new pre-installation script returned error exit status 1
Errors were encountered while processing:
 /var/cache/apt/archives/mysql-server-5.7_5.7.19-0ubuntu0.17.04.1_AMD64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Suis un peu coincé maintenant. Quelqu'un peut-il m'aider à rétablir la stabilité de mon système?

Mise à jour: a essayé d'exécuter les commandes suggérées, mais cela n'a pas résolu le problème:

~$ Sudo service mysql stop
Failed to stop mysql.service: Unit mysql.service not loaded.

~$ Sudo apt -f install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following additional packages will be installed:
  mysql-server-5.7
Suggested packages:
  tinyca
The following NEW packages will be installed
  mysql-server-5.7
0 to upgrade, 1 to newly install, 0 to remove and 5 not to upgrade.
5 not fully installed or removed.
Need to get 0 B/3,363 kB of archives.
After this operation, 50.0 MB of additional disk space will be used.
Do you want to continue? [Y/n] 
Preconfiguring packages ...
(Reading database ... 304498 files and directories currently installed.)
Preparing to unpack .../mysql-server-5.7_5.7.19-0ubuntu0.17.04.1_AMD64.deb ...
Failed to stop mysql.service: Unit mysql.service not loaded.
invoke-rc.d: initscript mysql, action "stop" failed.
invoke-rc.d returned 5
There is a MySQL server running, but we failed in our attempts to stop it.
Stop it yourself and try again!
dpkg: error processing archive /var/cache/apt/archives/mysql-server-5.7_5.7.19-0ubuntu0.17.04.1_AMD64.deb (--unpack):
 subprocess new pre-installation script returned error exit status 1
Errors were encountered while processing:
 /var/cache/apt/archives/mysql-server-5.7_5.7.19-0ubuntu0.17.04.1_AMD64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

~$ Sudo pkill mysqld
~$ Sudo killall mysqld
mysqld: no process found

~$ Sudo apt -f install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following additional packages will be installed:
  mysql-server-5.7
Suggested packages:
  tinyca
The following NEW packages will be installed
  mysql-server-5.7
0 to upgrade, 1 to newly install, 0 to remove and 5 not to upgrade.
5 not fully installed or removed.
Need to get 0 B/3,363 kB of archives.
After this operation, 50.0 MB of additional disk space will be used.
Do you want to continue? [Y/n] 
Preconfiguring packages ...
(Reading database ... 304498 files and directories currently installed.)
Preparing to unpack .../mysql-server-5.7_5.7.19-0ubuntu0.17.04.1_AMD64.deb ...
Failed to stop mysql.service: Unit mysql.service not loaded.
invoke-rc.d: initscript mysql, action "stop" failed.
invoke-rc.d returned 5
There is a MySQL server running, but we failed in our attempts to stop it.
Stop it yourself and try again!
dpkg: error processing archive /var/cache/apt/archives/mysql-server-5.7_5.7.19-0ubuntu0.17.04.1_AMD64.deb (--unpack):
 subprocess new pre-installation script returned error exit status 1
Errors were encountered while processing:
 /var/cache/apt/archives/mysql-server-5.7_5.7.19-0ubuntu0.17.04.1_AMD64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
4
Kees

J'ai rencontré le même problème en essayant de passer de MySQL à MariaDB sous Ubuntu 17.04. Il était impossible d'installer MariaDB car le script de post-installation pensait qu'il ne parvenait pas à démarrer le serveur (erreur de dépassement de délai mais le serveur a été démarré) . Il était impossible de revenir à MySQL car le script d'installation pensait qu'il ne pouvait pas arrêter le serveur même s'il était réellement arrêté.

La désinstallation avec apt est difficile et excessive, car elle essaie de désinstaller tous les paquets en fonction des bibliothèques clientes de MySQL.

Voici ma solution pour revenir à MySQL puis effectuer la mise à niveau vers MariaDB.

1) Détecte tous les packages MariaDB et MySQL

apt search mariadb | grep "\[install"

et

apt search mysql | grep "\[install"

2) Forcer la désinstallation de tous les paquetages MariaDB et MySQL (serveur, client, bibliothèques) pour nettoyer le désordre

Sudo dpkg --force depends --purge <package> <package> ...

) Nettoyer les données restantes dans/etc et/var/lib/mysql

NB: J'ai d'abord essayé d'installer MariaDB ou MySQL avec ma configuration et mes fichiers de données, mais j'ai échoué à chaque fois.

Sudo rm -rf /var/lib/mysql* /etc/mysql

Si vous voulez vous en tenir à MySQL et que vous n'avez pas de copie de votre/var/lib/mysql dans /var/lib/mysql-5.7 de la première tentative de mise à niveau de MariaDB, vous devez simplement déplacer/var/lib/mysql/var. /lib/mysql-5.7 au lieu de le supprimer.

4) Fixer le système

Sudo apt-get --fix-broken install
Sudo apt autoremove
Sudo reboot

5) Récupère les données MySQL

L’installation --fix-cassée avait réinstallé une version propre de MySQL (pas une MariaDB puisque Ubuntu semble l’aimer de cette façon).

Sudo service mysql stop
mv /var/lib/mysql*5.7 /var/lib/mysql
Sudo service mysql start

Si vous voulez aller à l'étape 6, vous devriez sauvegarder toutes vos bases de données maintenant.

6) Enfin passer à MariaDB

Si vous avez déjà eu des sauvegardes, vous pouvez ignorer l'étape 5.

Sudo apt-get install mariadb-server

Oui, c’est ce que j’ai essayé au début, mais cette fois ça marche! Vous pouvez recréer les utilisateurs de votre base de données puis les restaurer, car MariaDB ne souhaite pas mettre à niveau les bases MySQL 5.7.

4
ChrisAga