Установка MySQL 5.6 на Ubuntu 16.04
Очередная короткая заметка о том, как вернуть MySQL 5.6 на Ubuntu 16.04.
Для начала сделайте резервную копию всех баз данных, которые находятся у вас на сервере, если вам это необходимо.
Далее удалите все пакеты MySQL 5.7:
apt remove mysql-client mysql-server libmysqlclient-dev mysql-common
Проверьте, все ли пакеты удалены:
dpkg -l | grep mysql
Если что-то осталось, удалите их с помощью следующей команды:
dpkg -P <package> [<package> ...]
Теперь скачайте apt_config-debian package из репозитория Oracle и установите его с помощью dpkg:
wget https://repo.mysql.com/mysql-apt-config_0.7.2-1_all.deb dpkg -i mysql-apt-config_0.7.2-1_all.deb
Я установил именно версию 0.7.2-1_all. Во время установки выберите «MySQL 5.6» и дистрибутив «Ubuntu Wily».
Теперь проверим статус пакета MySQL:
apt-cache policy mysql-server
Если в списке нет версии 5.6, то проверьте файл /etc/apt/sources.list.d/mysql.list , вы должны увидеть там это:
deb http://repo.mysql.com/apt/ubuntu/ wily mysql-apt-config deb http://repo.mysql.com/apt/ubuntu/ wily mysql-5.6 deb http://repo.mysql.com/apt//ubuntu/ wily mysql-tools deb-src http://repo.mysql.com/apt/ubuntu/ wily mysql-5.6
Возможно вам придется заменить «xenial» на «wily». Не смотря на то, что вы используете Ubuntu 16.04 (кодовое имя которого xenial), Oracle обеспечивает сервером 5.6 только дистрибутивы 14.04 (кодовое имя которого willy). Но эти источники так же работают на 16.04.
Далее, создаем файл /etc/apt/preferences.d/mysql вписав в него следующие строки:
Package: * Pin: origin "repo.mysql.com" Pin-Priority: 999
Чтобы не было ошибок типа:
Ошк:8 http://repo.mysql.com/apt/ubuntu wily InRelease Следующие подписи неверные: KEYEXPIRED 1487236823 KEYEXPIRED 1487236823 KEYEXPIRED 1487236823 Ошк:11 http://repo.mysql.com/apt//ubuntu wily InRelease Следующие подписи неверные: KEYEXPIRED 1487236823 KEYEXPIRED 1487236823 KEYEXPIRED 1487236823 Чтение списков пакетов… Готово W: http://repo.mysql.com/apt/ubuntu/dists/wily/InRelease: При подписи ключом A4A9406876FCBD3C456770C88C718D3B5072E1F5 используется нестойкий алгоритм свёртки (SHA1) W: Ошибка GPG: http://repo.mysql.com/apt/ubuntu wily InRelease: Следующие подписи неверные: KEYEXPIRED 1487236823 KEYEXPIRED 1487236823 KEYEXPIRED 1487236823 E: Репозиторий «http://repo.mysql.com/apt/ubuntu wily InRelease» не подписан. N: Обновление из этого репозитория нельзя выполнить безопасным способом, и поэтому по умолчанию он отключён. N: Смотрите справочную страницу apt-secure(8) о создании репозитория и настройке пользователя. W: http://repo.mysql.com/apt//ubuntu/dists/wily/InRelease: При подписи ключом A4A9406876FCBD3C456770C88C718D3B5072E1F5 используется нестойкий алгоритм свёртки (SHA1) W: Ошибка GPG: http://repo.mysql.com/apt//ubuntu wily InRelease: Следующие подписи неверные: KEYEXPIRED 1487236823 KEYEXPIRED 1487236823 KEYEXPIRED 1487236823 E: Репозиторий «http://repo.mysql.com/apt//ubuntu wily InRelease» не подписан. N: Обновление из этого репозитория нельзя выполнить безопасным способом, и поэтому по умолчанию он отключён. N: Смотрите справочную страницу apt-secure(8) о создании репозитория и настройке пользователя. W: https://download.01.org/gfx/ubuntu/16.04/main/dists/xenial/InRelease: При подписи ключом 09D6EF97BFB38E916EF060E756A3DEF863961D39 используется нестойкий алгоритм свёртки (SHA1)
Ищем просроченный ключ так:
apt-key list | grep expired
или так (если система Русская):
apt-key list | grep просрочен
В ответ мы получим подобное сообщение:
pub 1024D/5072E1F5 2003-02-03 [просрочен с: 2017-02-16][code] и обновим его: [code]sudo apt-key adv --recv-keys --keyserver keys.gnupg.net 5072E1F5
Обновляем список пакетов:
apt update
И ставим заветный MySQL 5.6:
apt install mysql-client mysql-server libmysqlclient-dev
Проверить версию можно так:
mysql --version mysql Ver 14.14 Distrib 5.6.35, for debian-linux-gnu (x86_64) using EditLine wrapper
Еще, обратите внимание, если вы ставили ruby gems (например mysql2), вам нужно будет удалить и установить их по новой, так как они были привязаны к предыдущей библиотеке, и gem pristine тут не поможет.
Источники и прочее чтиво, которое использовалось для написания этой заметки:
- https://makandracards.com/makandra…
- https://repo.mysql.com
- https://ubuntuforums.org/showthread.php?t=2321196
- https://dev.mysql.com/downloads/mysql/5.6.html
- http://www.peterchen.net/2013/02/20/en-how-to…
- https://askubuntu.com/questions/760724…
- https://askubuntu.com/questions/762384…
- https://askubuntu.com/questions/792571…
- http://www.site-motor.ru/docs/debian…