Installa MySql 5.6 su Ubuntu 16.04


40

Sembra che Ubuntu 16.04 arrivi con MySQL 5.7, tuttavia devo installare 5.6.

Quando provo a installarlo in modo esplicito sudo apt-get install mysql-server-5.6ottengo il seguente errore:

Package mysql-server-5.6 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  mysql-community-server:i386 mysql-common:i386 mysql-community-server mysql-common percona-xtradb-cluster-server-5.6:i386 percona-server-server-5.6:i386 mysql-testsuite-5.7:i386
  mariadb-server-10.0:i386 percona-xtradb-cluster-server-5.6 percona-server-server-5.6 mysql-testsuite-5.7 mariadb-server-10.0 mysql-server-core-5.7:i386 mysql-server-5.7:i386 mysql-server-core-5.7
  mysql-server-5.7

Esiste un modo per installare 5.6?


Quel mysql 5.7.12 è un maiale RAM.
dibs,

Risposte:


69

Ho usato il seguente approccio:

sudo add-apt-repository 'deb http://archive.ubuntu.com/ubuntu trusty universe'
sudo apt-get update
sudo apt install mysql-server-5.6 mysql-client-5.6

Se si verifica un errore durante l'esecuzione dell'ultimo comando, dai un'occhiata alla sezione dei commenti di questa risposta.


10
Potrebbe essere necessario sudo rm /var/lib/mysql/debian-5.7.flago si interromperà conSub-process /usr/bin/dpkg returned an error code (1)
xxjjnn

2
il servizio mysql non si avvia correttamente. usando 'systemctl status mysql.service' Ottengo 'Impossibile avviare LSB: avviare e arrestare il demone del server di database mysql'. Questo perché il repository Trusty utilizza upstart e 5.7 utilizza systemd?
jowan sebastian,

1
@jowansebastian - Hai mai scoperto perché questo stava accadendo? Sto riscontrando un errore simile.
Barrie Reader,

@BarrieReader non mi dispiace, ho creato una VM centos per quello che stavo facendo e l'ho fatta funzionare bene.
jowan sebastian,

+1. Sapresti se esiste un modo per installare una versione specifica di MySQL 5.6 come 5.6.35?
vphilipnyc,

9

Sembra che sono riuscito a farlo.

  1. In Software e aggiornamenti / Altro software aggiunto repository 14.04:

    deb http://archive.ubuntu.com/ubuntu trusty main
    
  2. Client e server mysql installati:

    sudo apt install mysql-server-5.6
    sudo apt install mysql-client-5.6
    

Aggiornamento: prima di installare 5.6, assicurarsi che non siano presenti altri pacchetti mysql:

dpkg -l | grep mysql - restituisce l'elenco dei pacchetti mysql.

Utilizzare apt-get purge <package name>per eliminarli.

Fonte: l' aggiornamento 16.04 ha rotto mysql-server


1
Buona soluzione, ma perché hai bisogno di 5.6 anziché 5.7?
Uwe Burger,

5
5.7 non è compatibile con le versioni precedenti. Alcuni SQL dell'applicazione su cui sto lavorando falliscono ...
Tarlog,

2
Che errore stai ricevendo? Ho il sospetto che sia dovuto al flag ONLY_FULL_GROUP_BY che è "attivo" per impostazione predefinita in MySQL 5.7. Impostalo su off e potresti andare bene.
Jaydee,

Attualmente non ricordo i dettagli, l'ho provato quasi due mesi fa. Se ricordo bene, si trattava dell'elaborazione di alcune date. Forse l'analisi delle date.
Tarlog,

5.7 applica effettivamente lo schema delle tabelle
Richard Haven,

8

Stavo affrontando lo stesso problema e ho eseguito semplici passaggi di seguito:

 sudo apt-get install software-properties-common
 $ sudo add-apt-repository -y ppa:ondrej/mysql-5.6
 $ sudo apt-get update
 $ sudo apt-get install mysql-server-5.6

La soluzione ha funzionato per me Saluti !!


Oltre a queste soluzioni: è necessario rimuovere prima queste cartelle: /etc/mysql/ /var/lib/mysql /var/log/mysql /var/lib/mysql-filters /var/lib/mysql-keyringE questo file:/var/lib/mysql/debian-5.7.flag

3
Per citare ondrej: "non usare, rotto" .
Dai

3
dpkg --force-depends -P `dpkg -l |awk '/mysql/{print $2}'`

rm -r /etc/mysql/

apt-get install mysql-server mysql-client

1

Gli sviluppatori MySQL forniscono pacchetti Xenial di MySQL 5.6 nei propri repository , e questo dovrebbe quindi essere preferito rispetto all'installazione dei pacchetti ufficiali Ubuntu Trusty , poiché in generale è meglio installare pacchetti creati per la tua versione di Ubuntu.

Se disponi già di pacchetti MySQL Server, devi prima disinstallarli; disinstallare semplicemente tutto ciò che viene mostrato da dpkg -l | grep mysql-server.

Basta scaricare e installare il mysql-apt-configpacchetto DEB nel collegamento precedente. Durante l'installazione, ti verrà chiesto quale versione desideri, quindi puoi scegliere 5.6. Al termine dell'installazione del pacchetto, sudo apt update && sudo apt install mysql-server-5.6verrà installato MySQL Server 5.6.


3
Questo non funziona, non esiste un'opzione versione 5.6, solo 5.7
Frodik

5
In effetti sembra che da quando è stata scritta questa risposta, il supporto MySQL 5.6 sia stato rimosso dal mysql-apt-configpacchetto, il che è strano perché è ancora elencato come supportato nella pagina collegata ...
fkraiem,

1

Ho avuto lo stesso problema e ho provato molte opzioni. E ho avuto molti problemi con libdbd-mysql-perl; il sistema disse che non avrebbe installato quella libreria.

Quindi ho pensato di installarlo con Aptitude che installa un pacchetto e corregge tutte le dipendenze.

Se non hai attitudine puoi ottenerla in questo modo:sudo apt-get install aptitude

Innanzitutto tutto ciò che serve per disinstallare il tuo mysql esistente. Successivamente è necessario installare il pacchetto desiderato.

sudo aptitude install mysql-server-5.6

L'attitudine ti dà molte opzioni, cosa fare. Le prime opzioni sono di mantenere il pacchetto effettivo. Quindi premi (N) o fino a trovare l'opzione che dice di effettuare il downgrade dei pacchetti successivi:

libmysqlclient20 [5.7.14-1ubuntu16.04 (<NULL>, now) -> 5.7.13-0ubuntu0.16
mysql-common [5.7.14-1ubuntu16.04 (<NULL>, now) -> 5.6.30-1+deb.sury.org

quindi premere (Y) es e aptitude installerà mysql-server-5.6. Ecco l'opzione che dovresti accettare:

inserisci qui la descrizione dell'immagine

Se successivamente il sistema non riesce a connettersi al server mysql, è necessario riavviare il computer.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.