Установите mysql 5.6 на Ubuntu 18.04 LTS

11

Я не могу установить mySql 5.6 на недавно установленную Ubuntu 18.04. Я пробовал решение из множества ссылок ( link1 link2 ...), но безуспешно.

У меня установлено 5.7 , но из-за требований клиента , мне все равно нужно это сделать. Есть несколько изменений, которые делают его несовместимым с 5.6 без внесения изменений в код около 5 запущенных проектов (7 разработчиков), который был запущен, когда я использовал Ubuntu 17.10 с mysql 5.6 .

ОБНОВЛЕНИЕ: Ахмед предложил ручной подход, который является хорошим решением, но я бы хотел, чтобы кто-то знал, как это сделать Ubuntu, чтобы больше людей получало выгоду.

Пурушотам Сангроула
источник
У вас установлена ​​какая-либо другая версия mysql? Вам нужен конкретно 5.6? 5.7 доступен в репозиториях по умолчанию.
Валиано
@valiano, у меня установлено 5.7, но из-за требований клиента, мне все равно нужно это сделать. Есть несколько изменений, которые делают его несовместимым без необходимости вносить изменения в код более чем 5 разработчиков, участвующих в проекте.
Пурушотам Сангроула
Вы пробовали это? askubuntu.com/questions/792571/…
valiano
@valiano этот ответ не применим в настоящее время. Я пробовал.
Пурушотам Сангроула
Вам нужен MySQL или вы можете жить с MariaDB, который на 100% совместим со всеми существующими базами данных MySQL?
NerdOfLinux

Ответы:

18

Я перепробовал много подходов, пока не добился успеха.

Подход, который работал

Единственным подходом, который работал, было скачивание deb-bundble.tar с веб-сайта MySQL и установка пакетов один за другим. Я следовал за этими шагами:

  • Перейдите на страницу загрузки MySQL 5.6: https://dev.mysql.com/downloads/mysql/5.6.html#downloads
  • В опциях ОС выберите «Ubuntu 14.04 64-bit»
  • Скачайте deb-bundle, файл с именем: mysql-server_5.6.40-1ubuntu14.04_amd64.deb-bundle.tarобычно это первый вариант
  • Распакуйте пакет где-нибудь, используя: tar -xf mysql-server_5.6.40-1ubuntu14.04_amd64.deb-bundle.tar
    • Смола содержит несколько debпакетов, в том числе mysql-server, mysql-community-server... и т.д.
    • Затем я попытался установить их, используя: sudo dpkg -i <package-name>один за другим, но я следовал их порядку в соответствии с сообщениями об ошибках, например: я сначала попытался:, sudo dpkg -i mysql-server_5.6.40-1ubuntu14.04_amd64.debэто не удалось, потому что он требует mysql-community-server_5.6.40-1ubuntu14.04_amd64.debустановки в первую очередь и так далее. Правильный порядок для некоторых является: mysql-common, mysql-community-client, mysql-clientа затем mysql-community-server.
    • Некоторые из пакетов были успешно установлены, некоторые из них привели к ошибкам, после того, как я sudo dpkg -i mysql-server_5.6.40-1ubuntu14.04_amd64.debв последний раз попытался выдать несколько ошибок, я отчаянно попытался: при sudo apt-get install -fобнаружении недостающих зависимостей и вуаля, MySQL Server 5.6 успешно установлен, запущен и работает

Подходы, которые не работали

Использование надежного универсального репо

Стоит отметить, что я сначала попробовал тот же подход, который использовался в Ubuntu 16.04, то есть добавить репо «надежный юниверс» и попробовать установить mysql-server-5.6, то есть я следовал этому:

sudo add-apt-repository 'deb http://archive.ubuntu.com/ubuntu trusty universe'
sudo apt-get update
apt-get install mysql-server-5.6

Этот подход НЕ работал. Не удалось, потому что есть зависимость, initscriptsкоторая не может быть установлена. Похоже, его заменили после Ubuntu 16.04. Установка его замены: util-util-linux sysvinit-utilsтоже не помогло.

Использование MySQL apt config package

Я также попытался с помощью пакета MySQL конфигурации ( mysql-apt-config_0.7.3-1_all.deb) Я скачал из этого репозитория: https://repo.mysql.com/ и установить через: sudo dpkg -i mysql-apt-config_0.7.3-1_all.deb. Конечно, он не распознал Ubuntu 18.04 (бионический), поэтому я действовал так, как будто он xenial и настроил версию MySQL Server до 5.6, затем я попытался проверить, какая версия MySQL теперь доступна для установки с использованием: apt-cache policy mysql-serverно это также не работаю, у меня еще версии более поздние чем 5.6.

Конечная нота

Хотя последние два подхода не сработали, возможно, они способствовали успеху первого подхода, сделав некоторые пакеты или конфигурации доступными, честно говоря, я не знаю.

Когда я стал безнадежным, что любой подход сработает, я подумал о компиляции и установке его из исходного кода, я начал эту работу (установил основы сборки и создал группу пользователей и пользователя) и собирался получить исходный код, когда наткнулся на deb-bundle, который оказался плодотворным и был успешным подходом, который я описал выше.

Ахмед Моавад
источник
Привет, Ахмед, я так рад видеть, как ты публикуешь эту тяжелую работу. Я знаю, что эти решения должны работать (как я, наконец, так и сделал), но я бы хотел сделать это более подходящим для Ubuntu способом. Должно быть, был какой-то способ сделать это. Спасибо за это решение.
Пурушотам Сангроула
1
Спасибо @anime. Учитывая, что Ubuntu 18.04 был выпущен около недели назад, ожидается, что никто еще не сделал исправления или стороннего репозитория, чтобы установить его через apt.
Ахмед Моавад
Mysql обновил apt-repo до mysql-apt-config_0.8.10-1_all.deb. Который будет и поддерживает Bionic ОДНАКО, они включили только 5.7 и 8 в качестве опций в этом репо ... поэтому нет 5.6 из mysql на данном этапе для бионики
Narrim
2
Порядок, который работал для меня: sudo dpkg -i mysql-client_ * mysql-community-server_ * mysql-server_ * mysql-community-source_ * libmysqlclient18_ * libmysqlclient-dev_ * libmysqld-dev_ * mysql-community-client_ * mysql-community -bench_ * mysql-common_ * mysql-community-test_ * mysql-testsuite_ *
brandones
Мило с вашей стороны. Вы добавили то, что сработало, и то, что не сработало.
Soundararajan
5

Возможно, немного оффтоп, но мой предпочтительный способ решения таких вещей - использовать докер.

Вы можете установить docker и docker-compose. Создайте файл docker-compose.yml, например, /home/whwhat/mysql-5.6, который выглядит следующим образом.

services:

  db:
    image: mysql:5.6
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: example

а затем сделать docker-compose up -d

В качестве альтернативы вы можете просто установить docker-ce и выполнить «сухой запуск» образа с помощью следующей команды, чтобы просто проверить его.

docker run -it mysql:5.6 /bin/bash

Полное объяснение MySQL Dockerfiles, здесь. https://hub.docker.com/_/mysql/

BD Bear
источник
Это, наверное, правильный способ сделать это в наши дни.
marcogmonteiro
2

Вы можете загрузить и установить пакеты Debian Mysql 5.6 вручную из репозитория Mysql apt .

Кетан Патель
источник
Спасибо, но нет. В Ubuntu 18.04 официальный репозиторий MySQL (пакет APT) предоставляет вам только опцию MySQL 5.7 или 8.0. Только что попробовал.
Пол
Отредактированный ответ с URL-адресом, по которому можно скачать пакеты Debian для MySQL 5.6.
Кетан Патель
1

MariaDB является полностью совместимой заменой MySQL и доступна в репозиториях Ubuntu по умолчанию. Может быть установлен с:

sudo apt update
sudo apt install mariadb-server-10.0 mariadb-client-10.0

Программа установки должна обнаружить все существующие базы данных MySQL и импортировать их, но на всякий случай прочитайте этот ответ и подготовьте резервную копию.

Заметки о MariaDB

Пока речь идет о MySQL, MariaDB

является расширенной заменой MySQL

и совместим со всеми * приложениями, которые используют MySQL. Он слушает на один и те же порты и все команды являются одинаковыми (т.е. mysql, mysqldumpи т.д.).

* Хорошо, вы, вероятно, можете найти несколько действительно старых приложений, которые не будут работать с MariaDB, но шансы на это действительно очень малы.

NerdOfLinux
источник
Как настроить в нем версию mySql?
Пурушотам Сангроула
Я не верю, что ты можешь. Я рекомендую вам попробовать его на VPS, чтобы убедиться, что все работает, прежде чем начать работу. Ссылка даст вам до 2 месяцев бесплатно (и поможет мне немного :-)), но подойдет любой VPS-провайдер
NerdOfLinux
Из того, что я вижу с 18.04. где только mariadb-server-10.1...
Wittich
0

Я знаю, что этот ответ немного поздно. но я должен был упомянуть, что текущая версия MySQL APT Repository (mysql-apt-config_0.8.12-1_all.deb) прекрасно работала со мной на Ubuntu 18.04.

вот как это использовать.

KhogaEslam
источник
Позволит ли это установить mysql 5.6 на Ubuntu 18.04?
3
После распаковки, это только дает мне возможность 8,0
3
Со мной все работало нормально, используя упомянутую версию на дату этого ответа
ХогаЭслам
0

Да! Вы можете установить MySQL 5.5.56, следуя этим инструкциям по установке .

jobima
источник
Большое спасибо за участие в AskUbuntu! Тем не менее, я хотел бы отметить две части конструктивной критики в отношении вашего ответа. Во-первых, OP специально ищет решение с использованием традиционных инструментов управления пакетами. Они отметили, что одобренный ответ, хотя и был совершенно хорошим, был не тем, что они искали. С необработанными тарболами твоя удаляется еще дальше. Другая проблема - это грубая ссылка. При описании хорошего ответа аскубунту.com/help/how-to- answer рекомендуется контекст и более полные объяснения. Я надеюсь, что это поможет с дальнейшим вкладом в сайт!
WXL