Używam maszyny wirtualnej pod klucz Linux. Znajdująca się tam wersja Debiana najwyraźniej znajduje się na ścieżce aktualizacji „Wheezy” (jeśli tak to nazywacie). Jak widać, nie jestem w pełni zadowolony z Linuksa.
Potrzebuję nowych funkcji, które oferuje MySQL 5.6, a moja obecna instalacja to MySQL 5.5.35. Chciałbym uzyskać najnowszą wersję (5.6.17 od tego postu) lub przynajmniej dowolną wersję 5.6.x.
Próbowałem apt-get update
, apt-get upgrade
, apt-get dist-upgrade
. Te pomyślnie zaktualizowały wiele rzeczy, ale żadna z nich nie była MySQL. Próbowałem apt-get upgrade mysql-server
, co oznacza, że mam już najnowszą wersję.
Lista repozytoriów pakietów Debian Wheezy w sieci pokazuje MySQL 5.5 i nic więcej, gdy potrzebuję 5.6. Potem przeczytałem coś o „backportach”, co wydaje się być w stanie dostarczyć mi rzeczy, których mój konkretny Debian nie powinien jeszcze mieć - ale wydaje mi się, że nie mogę tego uruchomić. Wymaga dodania linii do /etc/apt/sources.list.d/sources.list
. Kiedy próbuję to zrobić, a następnie uruchomić apt-get update
, otrzymuję błędy 404.
Wypróbowałem także kilka innych tras, jedną kompilującą waniliowe pobieranie MySQL, której nie udało mi się niestety i wolałbym nie próbować ponownie.
Jestem zaskoczony, jak to się robi. Większość adresów URL na forach / blogach za apt-get
, a nawet wget
wydają się umiera wkrótce po ich opublikowaniu, więc nie mogę zrozumieć, jak ktoś idzie nawet o znalezienie właściwej informacji. Próbowałem to zrobić od dwóch dni i nie mogę się nigdzie dostać.
Zakładając, że przeczytałeś do tej pory, chciałbym wiedzieć, czy ktoś ma jakiś sposób na uaktualnienie MySQL w Debianie w stosunkowo bezbolesny automatyczny sposób (taki, w którym nie musiałbym używać make
lub eksportować / importować moich aktualnych baz danych i konfiguracji ręcznie ).
slony
Trochę potrzebuję nowej wersji i możliwości i nie mogłem znaleźć nowszej niż 9.1, która nie ma slony.Odpowiedzi:
Odbudowywanie eksperymentalnych źródeł MySQL 5.6 z eksperymentalnych na wheezy jest łatwe do pogodzenia z trywialnością. Będziesz jednak potrzebował dużo miejsca na dysku; po zakończeniu kompilacji katalog kompilacji zużywał 5,2 GB. Ponadto zajmuje trochę czasu i wykonuje niesamowitą liczbę testów. Nie zawracałam sobie głowy tym, ale pozwoliłam na kilka godzin. Możliwe jest wyłączenie testów, ale sugeruję pozwolić im na uruchomienie - jest nieszkodliwy tak długo, jak przejdą. Zrobili na mojej maszynie. Dobra wiadomość jest taka, że udało mi się go zbudować i zainstalować bez kłopotów. Przeprowadziłem następujący podstawowy test.
Mogę przynajmniej połączyć się z serwerem. Oto, jak wyglądają pakiety zainstalowane:
Oto podział poszczególnych kroków.
Najpierw zdobądź źródła. Musisz dodać następujące (lub podobne, dostosuj do preferowanego serwera) do
/etc/apt/sources.list
:Dodaj również następujące elementy
/etc/apt/preferences
.Następnie uruchomić
Następnie uruchomić
w odpowiednim katalogu. Zazwyczaj tworzę katalog w
/usr/local/src
,w tym przypadku, powiedzmy
/usr/local/src/mysql
.Następnie cd do
/usr/local/src/mysql
.Biegać
Na mojej maszynie zainstalowałem kilka pakietów.
Zainstaluj kilka podstawowych pakietów do budowania.
Następnie przejdź do wynikowego katalogu źródłowego
/usr/local/src/mysql/mysql-5.6- 5.6.16
i uruchomKompilacja zajmie trochę czasu. W niektórych przypadkach dobrym pomysłem jest zwiększenie
numeru wersji, ale nie jest to tak naprawdę konieczne. ponieważ jest mało prawdopodobne, aby jakikolwiek inny pakiet MySQL 5.6 trafił do wheezy.
Jeśli nie chcesz uruchamiać testów, możesz zamiast tego użyć
Teraz powinieneś zainstalować libdbd-mysql-perl, który jest zależnością środowiska wykonawczego pakietów mysql.
Następnie przejdź na wyższy poziom do
/usr/local/src/mysql
. Powinny być tam jakieś pakiety deb. Będziesz chciał przynajmniej zainstalowaćMożna to zrobić na przykład, uruchamiając:
źródło
dpkg-buildpackage: host architecture amd64
fakeroot debian/rules clean
Can't exec "fakeroot": No such file or directory at /usr/bin/dpkg-buildpackage line 510.
dpkg-buildpackage: error: fakeroot debian/rules clean failed with unknown exit code -1
debuild: fatal error at line 1357:
dpkg-buildpackage -rfakeroot -D -us -uc failed
robię to w systemie Linux pod klucz, który, jak sądzę, wykorzystuje LAMP, jeśli to pomaga.apt-get install fakeroot
.mysqldump
zrzucić plik, a następnie ponownie załadować plik zrzutu. Oczywiście, pamiętaj także o swoich bazach danych.apt-get remove mysql-server
iapt-get remove mysql-client
musiałem to zrobić takżeapt-get install libterm-readkey-perl
przed ostatnim krokiem. Ponadtomysql-server-core
instalacja w ostatnim kroku musiała zostać wykonana wcześniejmysql-server
. Teraz oficjalnie uruchamiam MySQL 5.6.16 i pomyślnie przetestowałem indeksy wyszukiwania InnoDB w trybie pełnotekstowym (powód, dla którego tego potrzebowałem)! Dziękuję Faheem Mitha. Uratowałeś moje zdrowie psychiczne.Obecnie najlepszą opcją jest użycie oficjalnego repozytorium MySQL APT, które umożliwia
apt-get upgrade
instalację.źródło
apt-get upgrade
, a następnie zrobićapt-get upgrade mysql-server
i łatwą aktualizację mysql z 5.5 do 5.7. Po aktualizacji musisz skonfigurować ponownie i wykonać:mysql_upgrade -u root
Wszyscy testowani Baw się dobrze.
źródło
root@lamp local/mysql# update-rc.d mysql-5.7 defaults
:update-rc.d: using dependency based boot sequencing
update-rc.d: error: unable to read /etc/init.d/mysql-5.7
root@lamp local/mysql# service mysql start
:Starting MySQL
[FAIL......[....] The server quit without updating PID file (/opt/mysql/server-5.6/data/lamp.pid). ... failed!