Wczoraj, przy okazji artykułu o błędzie 1273 (HY000) podczas importowania bazy danych MySQL jako jedno z rozwiązań wskazałem aktualizację serwera MySQL do nowszej wersji (np. 5.7). Może ktoś powiedzieć, że łatwo mi mówić (pisać), bo on na serwerze ma np. Debiana 8 (Jessie), i tam takiej wersji w repozytorium nie znajdzie. Słuszna uwaga, ale zawsze można sięgnąć do źródła…

Serwer MySQL 5.7 w systemie Debian 8 (Jessie) i Debian 9 (Stretch)

W Debianie 8 obecnie znajdziemy serwer MySQL w wersji 5.5.59, i raczej  nie ma co tu spodziewać się jakiejś rewolucji. Z kolei w Debianie 9 (Stretch) zamiast serwera MySQL znajdziemy serwer MariaDB. Niby oba serwery są ze sobą zgodne, ale widać, że powoli ich drogi zaczynają się chyba rozchodzić, i ciężko powiedzieć jak to będzie wyglądać za jakiś czas. Ja na razie trzymam się MySQL, choć cały czas obserwuje rozwój MariaDB.

Niezależnie od tego, czy chcemy nową wersję MySQL w Debianie 8 (lub np. 7), czy też wolimy MySQL od MariaDB w Debianie 9, nie ma problemu – wystarczy dokonać odpowiedniej modyfikacji w pliku „sources.list”:

sudo nano /etc/apt/sources.list

Dla systemy Debian 8 dodajemy:

# MySQL D8:
deb http://repo.mysql.com/apt/debian/ jessie mysql-5.7
deb-src http://repo.mysql.com/apt/debian/ jessie mysql-5.7

Dla systemu Debian 9 dodajemy:

# MySQL D9:
deb http://repo.mysql.com/apt/debian/ stretch mysql-5.7
deb-src http://repo.mysql.com/apt/debian/ stretch mysql-5.7

Dla innych (starszych lub w przyszłości nowszych) wersji w miejsce „jessie” czy „stretch” wstawiamy odpowiednią nazwę, np. „wheezy”. Choć wcześniej warto sprawdzić, czy dla konkretnej starszej wersji występuje serwer MySQL w jakiejś nowszej wersji.

Do tego jeszcze klucz/podpis:

wget -O /tmp/RPM-GPG-KEY-mysql https://repo.mysql.com/RPM-GPG-KEY-mysql
sudo apt-key add /tmp/RPM-GPG-KEY-mysql

Na koniec odświeżamy systemową listę dostępnych pakietów:

sudo apt-get update

Lub – jeśli serwer MySQL jest już w systemie – przeprowadzamy aktualizację:

sudo apt-get update -y && sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y

W przypadku jakichś problemów zaczynamy od odinstalowania starszej wersji:

sudo apt-get autoremove mysql-server mysql-community-server mysql-client mysql-common

By zainstalować następnie nową wersję:

sudo apt-get install mysql-server mysql-client

Lub:

sudo apt-get install mysql-community-server mysql-client

Powyższym poleceniem (jednym z 2 ostatnich) również instalujemy serwer MySQL na nowym – jeszcze bez serwera baz danych – serwerze.

Standardowa wersja MySQL w Debian Jessie:

patryk@vps08:~$ mysql --version
mysql Ver 14.14 Distrib 5.5.59, for debian-linux-gnu (x86_64) using readline 6.3

Wersja po aktualizacji „ze źródła”:

patryk@vps08:~$ mysql --version
mysql Ver 14.14 Distrib 5.7.21, for Linux (x86_64) using EditLine wrapper

Moim zdaniem warto, choćby ze względu na możliwość używania dłuższych nazw baz danych – niby drobiazg, ale przy większej ilości baz na serwerze, nawet taka błahostka zaczyna mieć znaczenie… ;-)

(!) Zgłoś błąd na stronie
Pomogłem? To może postawisz mi wirtualną kawę?
LUTy dla D-Cinelike (DJI Mini 3 Pro, DJI Avata, OSMO Pocket) od MiniFly
Wdrożenie Omnibusa w sklepie na WooCommerce
Jak (legalnie) latać dronem w Kategorii Otwartej
Patryk