LINUX.ORG.RU

как установить mysql 5.5.50 на Ubuntu 16.04?

 , , ,


0

1

установлена xUbuntu 16.04.1

делаю-получаю:

sudo add-apt-repository 'deb http://archive.ubuntu.com/ubuntu trusty universe'
sudo apt-get update
~$ sudo apt-cache policy   mysql-server
mysql-server:
  Установлен: (отсутствует)
  Кандидат:   5.7.13-0ubuntu0.16.04.2
  Таблица версий:
     5.7.13-0ubuntu0.16.04.2 500
        500 http://ua.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages
        500 http://ua.archive.ubuntu.com/ubuntu xenial-updates/main i386 Packages
        500 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu xenial-security/main i386 Packages
     5.7.11-0ubuntu6 500
        500 http://ua.archive.ubuntu.com/ubuntu xenial/main amd64 Packages
        500 http://ua.archive.ubuntu.com/ubuntu xenial/main i386 Packages

нету его, сладенького. а нужен.
как поставить?

так понимаю, что задача неразрешимая эта?

MinasFilm ()

А собрать руками и запихнуть в /opt, или в chroot/nspawn запихнуть более старую убунту, или поставить готовый пакет и захолдить его, например.

Или вообще взять сорсы от старой убунты и с помощью dpkg-buildpakage собрать, чтобы с имеющимися либами слинковалось.

Radjah ★★★★★ ()
Ответ на: комментарий от MinasFilm

Ну как-то так примерно.

https://launchpad.net/ubuntu/ source/mysql-5.5/5.5.50-0ubuntu0.14.04.1

Качаешь mysql-5.5_5.5.50.orig.tar.gz, mysql-5.5_5.5.50-0ubuntu0.14.04.1.debian.tar.gz, mysql-5.5_5.5.50-0ubuntu0.14.04.1.dsc

Делаешь

tar xvf mysql-5.5_5.5.50.orig.tar.gz
cd mysql-5.5.50
tar xvf ../mysql-5.5_5.5.50-0ubuntu0.14.04.1.debian.tar.gz
dpkg-buildpakage -us -uc

Оно может пожаловаться на зависимости, которые надо с помощью apt доустановить. Потом еще раз запустить сборку. В итоге у тебя будет несколько deb-пакетов, которые с помощью dpkg уже можно установить. И с помощью sudo apt-mark hold package_name заблокируй обновление пакетов.

А зачем тебе именно 5.5.50? В новых версиях что-то значительно поменялось?

Radjah ★★★★★ ()
Ответ на: комментарий от Radjah

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

5.5.50 нужен потому как файлы БД лежат с последнего апгрейта дистра вроде бы как именно под эту версию (хотя и не факт что под ней они заработают)

MinasFilm ()
Ответ на: комментарий от MinasFilm

deb-ы будут лежать рядом со скаченными архивами. Я вот сейчас пробую собрать из этих сорсов в Debian 8 ради интереса. Пока всё без ошибок.

На счет бинарной совместимости баз 5.5 с 5.7 ничего не скажу, ибо не сталкивался, а вот пакеты пересобирать приходилось.

Если innodb и включена опция innodb_file_per_table, то можно попробовать перенести нужную базу, авось подхватит.

Radjah ★★★★★ ()
Ответ на: комментарий от Radjah

именно так не катит:

 apt-get source mysql-5.5
Чтение списков пакетов… Готово
E: Невозможно найти пакет с исходным кодом для mysql-5.5

может, есть какой соотв. реп с сорсами?

MinasFilm ()
Последнее исправление: MinasFilm (всего исправлений: 1)
Ответ на: комментарий от Radjah

в общем сорсы скачал но сборка не взлетела:

maestro@hmeniakn:/tmp/mysqls/mysql-5.5.50$ dpkg-buildpackage -us -uc
dpkg-buildpackage: пакет исходных текстов mysql-5.5
dpkg-buildpackage: версия исходных текстов 5.5.50-0ubuntu0.14.04.1
dpkg-buildpackage: дистрибутив исходного кода trusty-security
dpkg-buildpackage: исходные тексты изменены Marc Deslauriers <marc.deslauriers@ubuntu.com>
dpkg-buildpackage: архитектура узла amd64
 dpkg-source --before-build mysql-5.5.50
dpkg-checkbuilddeps: ошибка: Unmet build dependencies: bison chrpath cmake debhelper (>= 8.1.3~) dh-apparmor doxygen-latex hardening-wrapper libaio-dev libncurses5-dev (>= 5.0-6) libreadline-dev libwrap0-dev (>= 7.6-8.3) po-debconf zlib1g-dev (>= 1:1.1.3-5)
dpkg-buildpackage: предупреждение: неудовлетворительные зависимости/конфликты при сборке; прерываемся
dpkg-buildpackage: предупреждение: (Используйте параметр -d, чтобы продолжить сборку.)
maestro@hmeniakn:/tmp/mysqls/mysql-5.5.50$ dpkg-buildpackage -us -uc -d
dpkg-buildpackage: пакет исходных текстов mysql-5.5
dpkg-buildpackage: версия исходных текстов 5.5.50-0ubuntu0.14.04.1
dpkg-buildpackage: дистрибутив исходного кода trusty-security
dpkg-buildpackage: исходные тексты изменены Marc Deslauriers <marc.deslauriers@ubuntu.com>
dpkg-buildpackage: архитектура узла amd64
 dpkg-source --before-build mysql-5.5.50
 fakeroot debian/rules clean
dh clean --parallel
make: dh: Команда не найдена
debian/rules:243: ошибка выполнения рецепта для цели «clean»
make: *** [clean] Ошибка 127
dpkg-buildpackage: ошибка: fakeroot debian/rules clean возвратил код ошибки 2

MinasFilm ()
Ответ на: комментарий от MinasFilm

Unmet build dependencies

Вот про эти зависимости, «которые надо с помощью apt доустановить», я и говорил. Обычно надо поставить «build-essential», а остальное по обстоятельствам.

sudo apt install bison chrpath cmake debhelper dh-apparmor doxygen-latex hardening-wrapper libaio-dev libncurses5-dev libreadline-dev libwrap0-dev po-debconf zlib1g-dev
Radjah ★★★★★ ()
Ответ на: комментарий от Twissel

Для слишком древнего или слишком нового лучше nspawn-контейнер держать ИМХО, если тёрок с версией ядра в системе не предвидится.

Radjah ★★★★★ ()
Ответ на: комментарий от MinasFilm
$ dh
The program 'dh' is currently not installed. You can install it by typing:
sudo apt-get install debhelper
pawnhearts ★★★★★ ()

А зачем ты это делаешь ?
Хочешь старый мускуль - поставь старую убунту, так гораздо проще будет.

Deleted ()
Ответ на: комментарий от Radjah

зависимости 5.5 и 5.7

Как правило, не сильно отличаются.

лишнего накинет

Ничего страшного

нужного не поставит

Можно доставить

pawnhearts ★★★★★ ()
Ответ на: комментарий от pawnhearts

Ну а тут точно не промахнешься. dpkg-checkbuilddeps прямо говорит, чего ему не хватает.

Radjah ★★★★★ ()

В новых мускулях есть режим совместимости со старыми базами.
Если ты хочешь воскрешать поломанную базу, то ставь старую убунту в виртуалку - времени меньше потратишь.

Deleted ()

Попробуй докер.

anonymous ()
Ответ на: комментарий от Radjah

в общем 5й час оно уже где-то билдится
напряженно ожидаем

MinasFilm ()
Ответ на: комментарий от Radjah

итого у меня получились следующие пакеты:
../libmysqlclient18_5.5.50-0ubuntu0.14.04.1_amd64.deb
../libmysqlclient-dev_5.5.50-0ubuntu0.14.04.1_amd64.deb
../libmysqld-dev_5.5.50-0ubuntu0.14.04.1_amd64.deb
../libmysqld-pic_5.5.50-0ubuntu0.14.04.1_amd64.deb
../mysql-client_5.5.50-0ubuntu0.14.04.1_all.deb
../mysql-client-5.5_5.5.50-0ubuntu0.14.04.1_amd64.deb
../mysql-client-core-5.5_5.5.50-0ubuntu0.14.04.1_amd64.deb
../mysql-common_5.5.50-0ubuntu0.14.04.1_all.deb
../mysql-server_5.5.50-0ubuntu0.14.04.1_all.deb
../mysql-server-5.5_5.5.50-0ubuntu0.14.04.1_amd64.deb
../mysql-server-core-5.5_5.5.50-0ubuntu0.14.04.1_amd64.deb
../mysql-source-5.5_5.5.50-0ubuntu0.14.04.1_amd64.deb
../mysql-testsuite_5.5.50-0ubuntu0.14.04.1_all.deb
../mysql-testsuite-5.5_5.5.50-0ubuntu0.14.04.1_amd64.deb

парочка из них вроде бы как установилась, остальные выдают ошибки при установке
что делать дальше?
в какой последовательности и что нужно ставить?
(еще есть каталог /tmp/mysqls/mysql-5.5.50 который вроде бы как похож на сырцы для инсталла, но хз что с ними делать и как, ибо примитивное sudo make install влоб не работает)

MinasFilm ()
Ответ на: комментарий от MinasFilm

Если мне dpkg не врёт, то тебе надо libmysqlclient18, mysql-client-5.5, mysql-common, mysql-server-5.5, mysql-server-core-5.5.

sudo dpkg -i libmysqlclient18_5.5.50-0ubuntu0.14.04.1_amd64.deb mysql-client-5.5_5.5.50-0ubuntu0.14.04.1_amd64.deb mysql-common_5.5.50-0ubuntu0.14.04.1_all.deb mysql-server-5.5_5.5.50-0ubuntu0.14.04.1_amd64.deb mysql-server-core-5.5_5.5.50-0ubuntu0.14.04.1_amd64.deb

Потом sudo apt-get install -f сделай, если попросит зависимости, для которых нет deb-ов среди собранных.

И копипасть ошибки, а то гадать на кофейной гуще крайне хреново.

Radjah ★★★★★ ()
sudo apt-get install docker
sudo systemctl restart docker
docker run -v /path/to/mysql/files:/var/lib/mysql mysql:5.5
MaZy ★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.