Nie można zainstalować serwera / klienta mysql na Ubuntu 16

12

Mam problem z instalacją mysql, którego nie mogę rozwiązać samodzielnie. Najpierw próbowałem usunąć i wyczyścić stare pliki za pomocą tego polecenia

sudo apt-get remove --purge mysql

Próbowałem też

sudo apt-get remove --purge mysql*

I

sudo apt-get remove --purge mariadb*

Wszystkie 3 polecenia zwracają ten sam wynik ...

You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
dbconfig-mysql : Depends: mysql-client but it is not going to be installed or
                       mariadb-client but it is not going to be installed or
                       virtual-mysql-client
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Więc uruchamiam to, co mi sugeruje apt-get -f installi mam

$ sudo apt-get -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:
  mailx tinyca
The following NEW packages will be installed:
  mysql-server-5.7
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
Need to get 0 B/2,597 kB of archives.
After this operation, 48.3 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Preconfiguring packages ...
(Reading database ... 300885 files and directories currently installed.)
Preparing to unpack .../mysql-server-5.7_5.7.16-0ubuntu0.16.04.1_amd64.deb ...
Aborting downgrade from (at least) 10.0 to 5.7.
If are sure you want to downgrade to 5.7, remove the file
/var/lib/mysql/debian-*.flag and try installing again.
dpkg: error processing archive /var/cache/apt/archives/mysql-server-5.7_5.7.16-0ubuntu0.16.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.16-0ubuntu0.16.04.1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Te same dane wyjściowe, które otrzymuję po uruchomieniu apt upgrade -f. To jest wynik działaniasystemctl status mysql.service -l

$ systemctl status mysql.service -l
    ● mysql.service
       Loaded: not-found (Reason: No such file or directory)
       Active: failed (Result: exit-code) since Wed 2016-11-23 07:32:55 EET; 58min ago

    Nov 23 07:32:24 stan systemd[1]: Starting LSB: Start and stop the mysql database server daemon...
    Nov 23 07:32:24 stan mysql[7818]:  * Starting MariaDB database server mysqld
    Nov 23 07:32:55 stan mysql[7818]:    ...fail!
    Nov 23 07:32:55 stan systemd[1]: mysql.service: Control process exited, code=exited status=1
    Nov 23 07:32:55 stan systemd[1]: Failed to start LSB: Start and stop the mysql database server daemon.
    Nov 23 07:32:55 stan systemd[1]: mysql.service: Unit entered failed state.
    Nov 23 07:32:55 stan systemd[1]: mysql.service: Failed with result 'exit-code'.

Inną rzeczą, którą próbowałem było usunąć, mysql-servera następnie zainstalować ponownie ten sam błąd.

Czy ktoś może pomóc w rozwiązaniu tego problemu ... Nie mam pomysłów, jak to naprawić.

Zaktualizuj dane wyjściowe lsb_release -a

$ lsb_release -a
  No LSB modules are available.
  Distributor ID:   Ubuntu
  Description:  Ubuntu 16.04.1 LTS
  Release:  16.04
  Codename: xenial 

Update2: wyjście z sudo apt install mysql-server mysql-client

$ sudo apt install mysql-server mysql-client
  Reading package lists... Done
  Building dependency tree       
  Reading state information... Done
  mysql-client is already the newest version (5.7.16-0ubuntu0.16.04.1).
  mysql-server is already the newest version (5.7.16-0ubuntu0.16.04.1).
  You might want to run 'apt-get -f 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-get -f install' with no packages (or specify a solution).
SI
źródło

Odpowiedzi:

28

Wykonujemy następujące polecenia, aby rozwiązać powyższy problem:

  1. Pobierz listę pakietów MySQL zainstalowanych w systemie, wykonując polecenie sudo dpkg -l | grep mysql
  2. Usuń pakiety pokazane powyżej, wykonując polecenie sudo apt-get --purge autoremove <packages from the step 1>
  3. Usunąć /var/lib/mysql
  4. Spróbuj ponownie zainstalować mysql. To powinno rozwiązać twój problem.
Bidyut
źródło
Thnak jest za odpowiedź. Próbowałem, ale na drugim etapie, w którym wyczyść i autorove je niezależnie od tego, co próbowałem usunąć, mam ten sam błąd:You might want to run 'apt-get -f 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-get -f install' with no packages (or specify a solution).
SI,
Czy mogę podać dane wyjściowe polecenialsb_release -a
Bidyut
Zaktualizowałem moje pytanie o dane wyjściowe.
SI
wykonać, sudo apt-get updatea następnie wykonaćsudo apt install mysql-server mysql-client
Bidyut
Zaktualizowałem moje pytanie o dane wyjściowesudo apt install mysql-server mysql-client
SI
1

Nie mam pojęcia, dlaczego próbowałem z tymi poleceniami przez około godzinę, zanim właśnie to zrobiłem

export TERM=xterm

a potem po prostu działało z apt install.

EDYCJA: Właściwie teraz wiem dlaczego. Być może podczas instalacji próbuje wyświetlić interfejs wizualny z pytaniem „zainstaluj wersję opiekuna pakietu” i tym podobne, a domyślny TERM na niektórych serwerach Ubuntu nie jest w stanie tego obsłużyć, więc instalacja generuje błąd. Zastosowanie Xterm rozwiązuje ten problem.

Teoria LowField
źródło