Оновлення MySQL 5.5 до MySQL 5.7


29

Я шукав підручник для манекенів про те, як оновити мій сервер MySQL 5.5 на MySQL 5.7 Я використовую ubuntu 14.04. Я вже пробував підручники на веб-сайті MySQL. Як я можу оновити свій сервер?


Документи MySQL говорять: "Підтримується більш ніж один рівень випуску, але тільки якщо ви одночасно оновите один рівень випуску. Наприклад, оновіть з 5,1 до 5,5, а потім до 5,6. Дотримуйтесь інструкцій з оновлення для кожного випуску послідовно. . " тож вам слід зробити оновлення в два кроки 5.5 -> 5.6 -> 5.7
iterq

Відповіді:


74

Це працювало для мене:

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

2-а команда попросить ввести:

введіть тут опис зображення

Після вибору 5.7 виберіть "застосувати"


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

Не забудьте запустити mysql_upgrade після встановлення для оновлення системних таблиць та перезавантаження сервера, дотримуючись посібника з оновлення MySQL .

$ mysql_upgrade

або

$ sudo mysql_upgrade -u root -p

І перезапустіть mysql

sudo service mysql restart

1
Я модернізував мій mysql за допомогою цього методу, але він порушив мій apache2, тепер я отримую 500 на всіх своїх розміщених сайтах. askubuntu.com/questions/795868/…
Rahul K Jha

1
Я думаю, що посилання на нову версію деб є: dev.mysql.com/get/mysql-apt-config_0.8.0-1_all.deb
zx1986

4
Зверніть увагу, що sudo mysql_upgrade -u root -pпотрібно !!
Jadeye

2
URL-параметр wget продовжуватиме змінюватися після виходу нових версій. Заходьте сюди dev.mysql.com/downloads/repo/apt і перевірте нижню частину сторінки
Гербус

1
як я choose "apply"... я натискаю Enter, і це робить мене знову крок і againa
Umair

28

Ви можете побачити мій коментар, що рішення @Rinzwind не працювало в моєму випадку (Ubuntu 14.04, Mysql 5.5). Тож я переглянув рішення і знайшов відповідь, яка працювала на мене в Digital Ocean Tutorial .

Перш за все, резервне копіювання всіх ваших баз даних.

mysqldump --all-databases > all_databases.sql

Якщо вищевказана команда не працювала для вас, спробуйте нижче цієї.

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

Я вставляю ту частину підручника, яка працювала на мене.

Якщо ви хочете встановити MySQL 5.7, вам потрібно буде додати нове сховище пакетів APT зі сторінки сховища MySQL APT. Клацніть Завантажити в нижньому правому куті, а потім скопіюйте посилання на наступній сторінці з Ні дякую, просто починайте завантаження. Завантажте пакет .deb на свій сервер.

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

Далі встановіть його за допомогою dpkg.

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

Ви побачите підказку, яка запитає, який продукт MySQL ви хочете налаштувати. Параметр MySQL Server, який виділяється, повинен говорити mysql-5.7. Якщо це не так, натисніть клавішу ENTER , потім прокрутіть вниз до mysql-5.7 за допомогою клавіш зі стрілками та натисніть клавішу ENTER ще раз.

Після того, як опція говорить mysql-5.7, прокрутіть вниз в головному меню пункт Застосувати і натисніть клавішу ENTER ще раз. Тепер оновіть індекс вашого пакета.

sudo apt-get update

Нарешті, встановіть пакет MySQL-сервера, який тепер містить MySQL 5.7.

sudo apt-get install mysql-server

Тепер оновіть всі бази даних mysql.

sudo mysql_upgrade -u root -p

Тепер перезапустіть сервер mysql.

sudo service mysql restart

Завжди знайдіть останню версію файлу mysql-at-config за посиланням https://dev.mysql.com/downloads/repo/apt/


2
Я отримую таку помилку під час встановлення mysql-сервера: W: помилка GPG: repo.mysql.com trusty InRelease: Наступні підписи недійсні: KEYEXPIRED 1487236823 KEYEXPIRED 1487236823 KEYEXPIRED 1487236823
Snigdha Batra

3
@SnigdhaBatra, це відома помилка . Використовуйте команду sudo apt-key adv --keyserver pgp.mit.edu --recv-keys A4A9406876FCBD3C456770C88C718D3B5072E1F5для вирішення проблеми.
Rahul K Jha

Я розумію, що ключ A4A9 ~ неможливо отримати, тому нічого не відбувається
Лукас Бустаманте,

Яку версію Ubuntu ви використовуєте?
Rahul K Jha

1
Fwiw, для резервного копіювання всіх баз даних я повинен був також вказати користувача mysqldump(відповідно до цієї відповіді ). напр .:mysqldump -u root -p --all-databases > alldb.sql
Nick F

3

це також може статися під час оновлення з 14.04 до 16.04, що спричиняє непідтримуване оновлення mysql (5.5 -> 5.7), що не підтримує шлях оновлення, як це задокументовано mysql . Найпростіший спосіб цього - оновити mysql до 5.6, хоча це ще менше 14.04. Ви досягаєте цього, спочатку (звичайно!) Скидаючи всі свої бази даних;

ім'я хоста # mysqldump --lock-all-table -u root -p - всі бази даних> backup.sql

потім оновлення до mysql 5.6;

hostname # apt-get install mysql-server-5.6 mysql-client-5.6 mysql-server-core-5.6 mysql-client-core-5.6

Таким чином, всі ваші бази даних оновлюються на місці та (на моїх машинах поки що) цілком безпечно та прозоро до 5.6. Єдиною проблемою після оновлення можуть бути записи TIMESTAMP. Тепер, навіть після до-реліз-оновлення до 16.04, mysql залишається на рівні 5.6, а проблеми навколо непідтримуваного оновлення з 5.5 безпосередньо до 5.7 під час оновлення випуску навіть не виникають.

Сподіваюся, це допомагає,

Кайлі.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.