Kategorie
Linux Ubuntu MySQL

Aktualizacja MySQL 5.6 do 5.7 w Ubuntu 16.04

Przed aktualizacją koniecznie należy wykonać kopię wszystkich baz danych.

root@server:/# mysqldump -u root -p --all-databases > all_databases.sql

Aktualnie posiadaną wersję sprawdzimy poleceniem:

root@server:/# mysql -V

lub

root@server:/# mysql --version

W pierwszym kroku aktualizujemy system:

root@server:/# apt-get update
root@server:/# apt-get upgrade

Następnie nową wersję serwera baz danych instalujemy poleceniem:

root@server:/# apt-get install mysql-server

W trakcie instalacji zostanie odinstalowana z systemu poprzednia wersja serwera baz danych i zainstalowana najnowsza.
Sprawdzenie tabel na ich zgodność z posiadaną wersją serwera baz danych wykonamy poleceniem:

root@server:/# mysql_upgrade -u root -p

lub z wymuszeniem sprawdzania:

root@server:/# mysql_upgrade --force -u root -p

Jeżeli w logach mamy podobne do poniższych wpisy:

[ERROR] Function 'innodb' already exists
[Warning] Couldn't load plugin named 'innodb' with soname 'ha_innodb.so'.
[ERROR] Function 'federated' already exists
[Warning] Couldn't load plugin named 'federated' with soname 'ha_federated.so'.
[ERROR] Function 'blackhole' already exists
[Warning] Couldn't load plugin named 'blackhole' with soname 'ha_blackhole.so'.
[ERROR] Function 'archive' already exists
[Warning] Couldn't load plugin named 'archive' with soname 'ha_archive.so'.

Należy z tabeli „plugin” w bazie danych o nazwie „mysql” usunąć odpowiednie pluginy:

DELETE FROM mysql.plugin WHERE name='innodb';
DELETE FROM mysql.plugin WHERE name='federated';
DELETE FROM mysql.plugin WHERE name='blackhole';
DELETE FROM mysql.plugin WHERE name='archive';

Jeżeli mamy problem ze startem serwera baz danych podczas startu systemu, wystarczy wykonać poniższe polecenie:

root@server:/# update-rc.d mysql defaults

 

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *