È possibile installare MySQL 5.5 o 5.6 su Ubuntu 16.04?


13

Di recente ho eseguito l'aggiornamento a Ubuntu 16.04. Purtroppo devo lavorare con MySQL 5.5 o 5.6. Ho provato molte soluzioni per far funzionare MySQL 5.5 o 5.6 su Ubuntu 16.04 come questo Installa MySql 5.6 su Ubuntu 16.04 . Ma nessuno di loro sta funzionando. Ubuntu rileva le dipendenze non soddisfatte ma dice "ma non verrà installato" per 5.5 o dice che il pacchetto 'mysql-server-5.6' non ha candidati all'installazione ...

Non è possibile forzare una versione precedente di MySQL su Ubuntu? Perché?


1
I repository ufficiali Ubuntu 16.04 non contengono alcuna versione di MySQL diversa da 5.7. Se vuoi un'altra versione, devi trovare il pacchetto da un'altra fonte. Non avresti davvero dovuto eseguire l'aggiornamento a 16.04 senza aver verificato questo.
fkraiem,


Quale delle risposte alla domanda collegata hai provato? Alcuni usano il pacchetto Deb di Oracle o addirittura lo compilano dal sorgente che dovrebbe funzionare indipendentemente dallo stato del repository software.
David Foerster,

@fkraiem "Non dovresti davvero aver effettuato l'aggiornamento ... senza controllare questo" - stai presumendo che la necessità di MySQL 5.5 fosse nota al momento dell'aggiornamento. Di recente ho iniziato un nuovo lavoro con un vecchio software che richiede MySQL 5.5 (niente di più recente), quindi avrei dovuto controllare tutti i possibili datori di lavoro e quali sono in esecuzione prima dell'aggiornamento?
Nathan Crause,

Risposte:


21

Guida dettagliata * per installare mysql 5.5.x su Ubuntu 16.04 Xenial-Xerus. Si prega di consultare questa documentazione

O

Vedi i passaggi seguenti:

Installazione di MySQL 5.5.51 su Ubuntu 16.06

  1. Disinstallare qualsiasi versione esistente di MySQL

    sudo rm /var/lib/mysql/ -R
    
  2. Elimina il profilo MySQL

    sudo rm /etc/mysql/ -R
    
  3. Disinstalla automaticamente mysql

    sudo apt-get autoremove mysql* --purge
    sudo apt-get remove apparmor
    
  4. Scarica la versione 5.5.51 dal sito MySQL

    wget https://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.56-linux-glibc2.5-x86_64.tar.gz
    
  5. Aggiungi mysqlgruppo utenti

    sudo groupadd mysql
    
  6. Aggiungi mysql(non l'utente corrente) al mysqlgruppo utenti

    sudo useradd -g  mysql mysql
    
  7. Estrai mysql-5.5.51-linux2.6-x86_64.tar.gzin/usr/local

    cd /usr/local
    sudo tar -xvf mysql-5.5.49-linux2.6-x86_64.tar.gz
    
  8. Crea mysqlcartella in/usr/local

    sudo mv mysql-5.5.49-linux2.6-x86_64 mysql
    
  9. Imposta il mysqlproprietario della directory e il gruppo utenti

    cd mysql
    sudo chown -R mysql:mysql *
    
  10. Installa il pacchetto lib richiesto

    sudo apt-get install libaio1
    
  11. Eseguire lo script di installazione mysql

    sudo scripts/mysql_install_db --user=mysql
    
  12. Imposta il proprietario della directory mysql dall'esterno della directory mysql

    sudo chown -R root .
    
  13. Imposta il proprietario della directory dei dati dalla directory mysql

    sudo chown -R mysql data
    
  14. Copia il file di configurazione mysql

    sudo cp support-files/my-medium.cnf /etc/my.cnf 
    
  15. Inizia mysql

    sudo bin/mysqld_safe --user=mysql &
    sudo cp support-files/mysql.server /etc/init.d/mysql.server
    
  16. Inizializza la password dell'utente root

    sudo bin/mysqladmin -u root password '111111'
    
  17. Avviare il server mysql

    sudo /etc/init.d/mysql.server start
    
  18. Arresta il server mysql

    sudo /etc/init.d/mysql.server stop
    
  19. Controlla lo stato di mysql

    sudo /etc/init.d/mysql.server status
    
  20. Abilita myql all'avvio

    sudo update-rc.d -f mysql.server defaults 
    
  21. Disabilita mysql all'avvio (Opzionale)

    sudo update-rc.d -f mysql.server remove
    
  22. Aggiungi il percorso mysql al sistema

    sudo ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
    
  23. Ora usa direttamente il comando qui sotto per avviare mysql

    mysql -u root -p 
    

PS: è necessario riavviare per poter effettuare le modifiche.

Basato su un blog cinese


1
Funziona come uno squalo! Grazie. Solo una cosa - se installi MySQL su Ubuntu 16 - non crea uno script systemctl - dopo il riavvio lo creerà automaticamente.
1stinto

1
Il riavvio deve avvenire tra i passaggi 16 e 17 per far funzionare i passaggi 17-21.
e_i_pi,

ha fatto tutto questo, ma ha avuto problemi di dipendenza (presumibilmente alcune librerie condivise sono finite in una versione sbagliata).
Amichai Schreiber,

È davvero necessario rimuovere apparmor? Non vedo più una riga da reinstallare successivamente. Non so troppo di apparmor ma sembra che disinstallarlo sia un problema di sicurezza.
Parag,


4

Prova questo, prima devi rimuovere

sudo rm /var/lib/mysql/debian-5.7.flag

poi

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


2

Un'alternativa più semplice è utilizzare Percona Server. Con la loro documentazione :

Installazione di Percona Server dal repository apt di Percona

  1. Recupera i pacchetti di repository dal web Percona:

    wget https://repo.percona.com/apt/percona-release_0.1-4.$(lsb_release -sc)_all.deb
    
  2. Installa il pacchetto scaricato con dpkg . Per fare ciò, esegui i seguenti comandi come root o con sudo :

    dpkg -i percona-release_0.1-4.$(lsb_release -sc)_all.deb
    

    Una volta installato questo pacchetto, è necessario aggiungere i repository Percona. È possibile controllare l'impostazione del repository nel /etc/apt/sources.list.d/percona-release.listfile.

  3. Ricorda di aggiornare la cache locale:

    apt-get update
    
  4. Successivamente è possibile installare il pacchetto server:

    apt-get install percona-server-server-5.5
    

Richiesta HTTP inviata, in attesa di risposta ... 404 Not Found
simhumileco,

1
@simhumileco hanno cambiato la versione. ad oggi, utilizzare wget repo.percona.com/apt/percona-release_0.1-4.$(lsb_release -sc) _all.deb e quindi dpkg -i percona-release_0.1-4. $ (lsb_release -sc) _all.deb
Leonel Martins,
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.