Aktualizacja MySQL 5.5 do MySQL 5.7

29

Przeszukałem tutorial dla manekinów na temat aktualizacji mojego serwera MySQL 5.5 do MySQL 5.7 Używam Ubuntu 14.04. Próbowałem już samouczków na stronie MySQL. Jak mogę zaktualizować mój serwer?

Cgnkev
źródło
Dokumentacja MySQL mówi: „Obsługiwana jest aktualizacja więcej niż jednego poziomu wersji, ale tylko wtedy, gdy aktualizujesz jeden poziom na raz. Na przykład aktualizuj z wersji 5.1 do 5.5, a następnie do wersji 5.6. Postępuj zgodnie z instrukcjami aktualizacji dla każdej wersji, kolejno . ” więc powinieneś zrobić aktualizację w dwóch krokach 5.5 -> 5.6 -> 5.7
iterq 24.04.17

Odpowiedzi:

74

To działało dla mnie:

wget https://dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb
sudo gdebi mysql-apt-config_0.8.10-1_all.deb
sudo apt-get update
sudo apt-get install mysql-server

Drugie polecenie poprosi o wprowadzenie:

wprowadź opis zdjęcia tutaj

Po wybraniu 5.7 wybierz „zastosuj”


$ mysql --version
mysql  Ver 14.14 Distrib 5.7.8-rc, for Linux (x86_64) using  EditLine wrapper

Nie zapomnij uruchomić mysql_upgrade po instalacji, aby zaktualizować tabele systemowe i zrestartować serwer, postępując zgodnie z instrukcją MySQL Upgrade .

$ mysql_upgrade

lub

$ sudo mysql_upgrade -u root -p

I uruchom ponownie mysql

sudo service mysql restart
Rinzwind
źródło
1
Zaktualizowałem mój mysql przy użyciu tej metody, ale zepsuł mi się mój apache2, teraz otrzymuję 500 na wszystkich moich hostowanych stronach. askubuntu.com/questions/795868/…
Rahul K Jha
1
Myślę, że nowa wersja deb link to: dev.mysql.com/get/mysql-apt-config_0.8.0-1_all.deb
zx1986
4
Pamiętaj, że sudo mysql_upgrade -u root -pjest to wymagane !!
Jadeye
2
Adres URL parametru wget będzie się zmieniać wraz z wydaniem nowych wersji. Wejdź tutaj dev.mysql.com/downloads/repo/apt i sprawdź dół strony
Gerbus
1
jak mam choose "apply"... nacisnęłam Enter i to robi mi ten sam krok raz za razem
Umair
28

Możesz zobaczyć mój komentarz, że rozwiązanie @Rinzwind nie zadziałało w moim przypadku (Ubuntu 14.04, Mysql 5.5). Poszukałem rozwiązania i znalazłem odpowiedź, która zadziałała w Digital Ocean Tutorial .

Przede wszystkim wykonaj kopię zapasową całej bazy danych.

mysqldump --all-databases > all_databases.sql

Jeśli powyższe polecenie nie zadziałało, spróbuj wykonać poniżej jednego.

mysqldump -u root -p --all-databases > all_databases.sql

Wklejam tę część samouczka, która działała dla mnie.

Jeśli chcesz zainstalować MySQL 5.7, musisz dodać nowsze repozytorium pakietów APT ze strony repozytorium MySQL APT. Kliknij Pobierz w prawym dolnym rogu, a następnie skopiuj link na następnej stronie z Nie, dziękuję, po prostu rozpocznij pobieranie. Pobierz pakiet .deb na swój serwer.

wget https://dev.mysql.com/get/mysql-apt-config_0.8.1-1_all.deb

Następnie zainstaluj go za pomocą dpkg.

sudo dpkg -i mysql-apt-config_0.8.1-1_all.deb

Zobaczysz monit z pytaniem, który produkt MySQL chcesz skonfigurować. Podświetlona opcja serwera MySQL powinna zawierać mysql-5.7. Jeśli nie, naciśnij klawisz ENTER , a następnie przewiń w dół do mysql-5.7 za pomocą klawiszy strzałek i ponownie naciśnij klawisz ENTER .

Gdy opcja wyświetli mysql-5.7, przewiń w dół do menu głównego, aby zastosować, i ponownie naciśnij ENTER. Teraz zaktualizuj indeks pakietu.

sudo apt-get update

Na koniec zainstaluj pakiet serwera MySQL, który teraz zawiera MySQL 5.7.

sudo apt-get install mysql-server

Teraz zaktualizuj wszystkie bazy danych mysql.

sudo mysql_upgrade -u root -p

Teraz zrestartuj serwer mysql.

sudo service mysql restart

Zawsze znajdź najnowszą wersję pliku mysql-at-config na https://dev.mysql.com/downloads/repo/apt/

Rahul K Jha
źródło
2
Dostaję następujący błąd podczas instalacji serwera mysql: W: Błąd GPG: repo.mysql.com zaufana InRelease: Następujące podpisy były nieprawidłowe: KEYEXPIRED 1487236823 KEYEXPIRED 1487236823 KEYEXPIRED 1487236823
Snigdha Batra
3
@SnigdhaBatra, Jest to znany błąd . Użyj polecenia, sudo apt-key adv --keyserver pgp.mit.edu --recv-keys A4A9406876FCBD3C456770C88C718D3B5072E1F5aby rozwiązać problem.
Rahul K Jha
Rozumiem, że klucza A4A9 ~ nie można odzyskać, więc nic się nie dzieje
Lucas Bustamante
Jakiej wersji Ubuntu używasz?
Rahul K Jha
1
Fwiw, aby wykonać kopię zapasową wszystkich baz danych, musiałem również określić użytkownika mysqldump(zgodnie z tą odpowiedzią ). np .:mysqldump -u root -p --all-databases > alldb.sql
Nick F
3

może się to również zdarzyć podczas aktualizacji z 14.04 do 16.04, co powoduje nieobsługiwaną aktualizację mysql (5.5 -> 5.7), która nie jest obsługiwaną ścieżką aktualizacji, jak udokumentowano w mysql . Najprostszym sposobem na to jest uaktualnienie mysql do wersji 5.6, gdy wciąż jest poniżej 14.04. Osiągasz to, najpierw (oczywiście!) Zrzucając wszystkie swoje bazy danych;

nazwa hosta # mysqldump --lock-all-tables -u root -p - wszystkie bazy danych> backup.sql

następnie aktualizacja do mysql 5.6;

nazwa hosta # apt-get zainstaluj mysql-server-5.6 mysql-client-5.6 mysql-server-core-5.6 mysql-client-core-5.6

W ten sposób wszystkie twoje bazy danych są aktualizowane na miejscu i (na moich dotychczasowych komputerach) całkowicie bezpiecznie i przejrzyście do 5.6. Jedynym problemem po aktualizacji mogą być wpisy TIMESTAMP. Teraz, nawet po aktualizacji do 16.04, mysql wciąż pozostaje na poziomie 5.6, a problemy związane z nieobsługiwaną aktualizacją z 5.5 bezpośrednio do 5.7 podczas aktualizacji wersji nigdy się nie ujawniają.

Mam nadzieję że to pomoże,

Kailee

Kailee
źródło