Я пытаюсь установить пакеты mysql-server и mysql-client на Debian Jessie, но получаю следующий вывод

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

Я пробовал различные решения, найденные на разных форумах, но ни один из них не работает.

Например, apt-get -f autoremove

В чем причина этой проблемы и как ее можно исправить?

РЕДАКТИРОВАТЬ

Команда apt-get -f install выводит это

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following package was automatically installed and is no longer required:
  mariadb-common
Use 'apt-get autoremove' to remove it.
The following extra packages will be installed:
  mysql-server-5.5
Suggested packages:
  mailx tinyca
Recommended packages:
  libhtml-template-perl
The following NEW packages will be installed:
  mysql-server-5.5
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
5 not fully installed or removed.
Need to get 0 B/1,620 kB of archives.
After this operation, 29.7 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Preconfiguring packages ...
(Reading database ... 51712 files and directories currently installed.)
Preparing to unpack .../mysql-server-5.5_5.5.47-0+deb8u1_armhf.deb ...
Aborting downgrade from (at least) 10.0 to 5.5.
If are sure you want to downgrade to 5.5, remove the file
/var/lib/mysql/debian-*.flag and try installing again.
dpkg: error processing archive /var/cache/apt/archives/mysql-server-5.5_5.5.47-0+deb8u1_armhf.deb (--unpack):
 subprocess new pre-installation script returned error exit status 1
Errors were encountered while processing:
 /var/cache/apt/archives/mysql-server-5.5_5.5.47-0+deb8u1_armhf.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

РЕДАКТИРОВАТЬ 2

Удаление предложенного файла /var/lib/mysql/debian-*.flag и последующее повторное выполнение apt-get -f autoremove дает мне следующий вывод

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following package was automatically installed and is no longer required:
  mariadb-common
Use 'apt-get autoremove' to remove it.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
2 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up mysql-server-5.5 (5.5.47-0+deb8u1) ...
Job for mysql.service failed. See 'systemctl status mysql.service' and 'journalctl -xn' for details.
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error processing package mysql-server-5.5 (--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.5; however:
  Package mysql-server-5.5 is not configured yet.

dpkg: error processing package mysql-server (--configure):
 dependency problems - leaving unconfigured
E: Sub-process /usr/bin/dpkg returned an error code (1)

2 ответа2

0

Я встретил эту ошибку, когда мне нужно установить 5.7 после MariaDB. erase и autoremove не помогли.

ВНИМАНИЕ: эта команда уничтожит ваши данные! Не запускайте его, если вам нужны данные. Мне это не нужно (свежий сервер), поэтому я просто rm -rf /var/lib/mysql/* , это помогло сразу.

-1

Если вы уверены, что хотите перейти на версию 5.5, удалите файл /var/lib/mysql/debian-*.flag и попробуйте установить снова.

Как видно из вывода вашего терминала, в вашей системе уже установлен mysql-сервер с более новой версией, когда вы пытаетесь установить.

Вы можете проверить это с помощью команды, которая покажет вам установленные пакеты (с версией и другой информацией):

dpkg -l | grep mysql-server

Тогда вы можете быть уверены, что у вас есть mysqlserver и какая у вас версия. Таким образом, вы можете остаться с установленной версией или, если вы хотите принудительно установить более старый пакет, вывод терминала попросит вас удалить файл: /var/lib/mysql/debian-*.flag

sudo rm -f /var/lib/mysql/debian-*.flag

Пожалуйста, будьте осторожны с командой rm (особенно с sudo) после этого удаления, ваша переустановка может работать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .