Czy na Ubuntu 16.04 można zainstalować MySQL 5.5 lub 5.6?

13

Niedawno zaktualizowałem system do Ubuntu 16.04. Niestety muszę pracować z MySQL 5.5 lub 5.6. Wypróbowałem wiele rozwiązań, aby MySQL 5.5 lub 5.6 działały na Ubuntu 16.04, na przykład Zainstaluj MySql 5.6 na Ubuntu 16.04 . Ale żaden z nich nie działa. Ubuntu wykrywa niezaspokojone zależności, ale mówi „ale nie będzie instalowany” dla 5.5 lub mówi, że pakiet „mysql-server-5.6” nie ma kandydata do instalacji ...

Czy nie można wymusić wcześniejszej wersji MySQL na Ubuntu? Dlaczego?

idris
źródło
1
Oficjalne repozytoria Ubuntu 16.04 nie zawierają żadnej wersji MySQL innej niż 5.7. Jeśli chcesz innej wersji, musisz znaleźć pakiet z innego źródła. Naprawdę nie powinieneś uaktualnić do 16.04 bez sprawdzenia tego.
fkraiem 26.04.16
2
Możliwy duplikat Jak zainstalować MySQL 5.6?
David Foerster
Które odpowiedzi na połączone pytanie próbowałeś? Niektórzy używają pakietu Deb firmy Oracle lub nawet kompilują go ze źródła, co powinno działać bez względu na stan repozytorium oprogramowania.
David Foerster
@fkraiem „Naprawdę nie powinieneś mieć aktualizacji ... bez sprawdzania tego” - zakładasz, że konieczność MySQL 5.5 była znana w czasie aktualizacji. Niedawno rozpocząłem nową pracę ze starym oprogramowaniem, które wymaga MySQL 5.5 (nic nowego) - więc powinienem sprawdzić wszystkich możliwych pracodawców i to, co oni uruchomili przed aktualizacją?
Nathan Crause

Odpowiedzi:

22

Przewodnik krok po kroku *, aby zainstalować mysql 5.5.x na Ubuntu 16.04 Xenial-Xerus. Zobacz tę dokumentację

LUB

Zobacz kroki poniżej:

Instalowanie MySQL 5.5.51 na Ubuntu 16.06

  1. Odinstaluj istniejącą wersję MySQL

    sudo rm /var/lib/mysql/ -R
    
  2. Usuń profil MySQL

    sudo rm /etc/mysql/ -R
    
  3. Automatycznie odinstaluj mysql

    sudo apt-get autoremove mysql* --purge
    sudo apt-get remove apparmor
    
  4. Pobierz wersję 5.5.51 ze strony MySQL

    wget https://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.56-linux-glibc2.5-x86_64.tar.gz
    
  5. Dodaj mysqlgrupę użytkowników

    sudo groupadd mysql
    
  6. Dodaj mysql(nie bieżącego użytkownika) do mysqlgrupy użytkowników

    sudo useradd -g  mysql mysql
    
  7. Wyodrębnij mysql-5.5.51-linux2.6-x86_64.tar.gzdo/usr/local

    cd /usr/local
    sudo tar -xvf mysql-5.5.49-linux2.6-x86_64.tar.gz
    
  8. Utwórz mysqlfolder w/usr/local

    sudo mv mysql-5.5.49-linux2.6-x86_64 mysql
    
  9. Ustaw mysqlwłaściciela katalogu i grupę użytkowników

    cd mysql
    sudo chown -R mysql:mysql *
    
  10. Zainstaluj wymagany pakiet lib

    sudo apt-get install libaio1
    
  11. Uruchom skrypt instalacyjny mysql

    sudo scripts/mysql_install_db --user=mysql
    
  12. Ustaw właściciela katalogu mysql spoza katalogu mysql

    sudo chown -R root .
    
  13. Ustaw właściciela katalogu danych z katalogu mysql

    sudo chown -R mysql data
    
  14. Skopiuj plik konfiguracyjny mysql

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

    sudo bin/mysqld_safe --user=mysql &
    sudo cp support-files/mysql.server /etc/init.d/mysql.server
    
  16. Zainicjuj hasło użytkownika root

    sudo bin/mysqladmin -u root password '111111'
    
  17. Uruchom serwer mysql

    sudo /etc/init.d/mysql.server start
    
  18. Zatrzymaj serwer mysql

    sudo /etc/init.d/mysql.server stop
    
  19. Sprawdź status mysql

    sudo /etc/init.d/mysql.server status
    
  20. Włącz myql podczas uruchamiania

    sudo update-rc.d -f mysql.server defaults 
    
  21. Wyłącz mysql podczas uruchamiania (opcjonalnie)

    sudo update-rc.d -f mysql.server remove
    
  22. Dodaj ścieżkę mysql do systemu

    sudo ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
    
  23. Teraz bezpośrednio użyj poniższego polecenia, aby uruchomić mysql

    mysql -u root -p 
    

PS: Należy dokonać ponownego uruchomienia, aby zmiany mogły zostać wprowadzone.

Na podstawie chińskiego bloga

Dr Yashodhan Joshi
źródło
1
Działa jak sharm! Dziękuję Ci. Tylko jedna rzecz - jeśli zainstalujesz MySQL na Ubuntu 16 - nie twórz skryptu systemctl - po ponownym uruchomieniu utworzy się on sam.
1nstinct
1
Ponowne uruchomienie musi nastąpić między krokami 16 i 17, aby kroki 17–21 działały.
e_i_pi
zrobiłem to wszystko, ale skończyło się to problemami z zależnościami (prawdopodobnie niektóre biblioteki współdzielone dostały błędną wersję).
Amichai Schreiber,
Czy to naprawdę konieczne, aby usunąć apparmor? Nie widzę linii do ponownej instalacji. Nie wiem zbyt dobrze o apparmor, ale wygląda na to, że odinstalowanie go jest problemem bezpieczeństwa.
Parag
Nadal pracuj bez usuwania
zbroi
4

Spróbuj tego, najpierw musisz usunąć

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

następnie

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
Tarunkant Gupta
źródło
2

Prostszą alternatywą jest użycie Percona Server. Według ich dokumentacji :

Instalowanie serwera Percona z repozytorium apt Percona

  1. Pobierz pakiety repozytorium z sieci Percona:

    wget https://repo.percona.com/apt/percona-release_0.1-4.$(lsb_release -sc)_all.deb
    
  2. Zainstaluj pobrany pakiet za pomocą dpkg . Aby to zrobić, uruchom następujące polecenia jako root lub sudo :

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

    Po zainstalowaniu tego pakietu należy dodać repozytoria Percona. Możesz sprawdzić konfigurację repozytorium w /etc/apt/sources.list.d/percona-release.listpliku.

  3. Pamiętaj, aby zaktualizować lokalną pamięć podręczną:

    apt-get update
    
  4. Następnie możesz zainstalować pakiet serwera:

    apt-get install percona-server-server-5.5
    
Leonel Martins
źródło
Wysłano żądanie HTTP, oczekując na odpowiedź ... 404 nie znaleziono
simhumileco
1
@simhumileco zmienili wersję. na dzień dzisiejszy użyj wget repo.percona.com/apt/percona-release_0.1-4.$(lsb_release -sc) _all.deb, a następnie dpkg -i percona-release_0.1-4. $ (lsb_release -sc) _all.deb
Leonel Martins