[devel] Переход на libmysqlclient21 (MySQL8.0)

Aleksey Novodvorsky aen на altlinux.ru
Вт Фев 5 23:22:36 MSK 2019


вт, 5 февр. 2019 г., 23:04 Dmitry V. Levin ldv на altlinux.org:

> On Tue, Feb 05, 2019 at 09:23:31PM +0300, Anton Farygin wrote:
> > 05.02.2019 21:00, Dmitry V. Levin пишет:
> > > On Tue, Feb 05, 2019 at 08:55:14PM +0300, Anton Farygin wrote:
> > >> 05.02.2019 20:24, Dmitry V. Levin пишет:
> > >>> On Tue, Feb 05, 2019 at 06:50:50PM +0300, Nikolai Kostrigin wrote:
> > >>>> Уважаемые коллеги, здравствуйте!
> > >>>>
> > >>>> Для полноценного перехода на MySQL 8.0 в Сизифе необходимо
> пересобрать
> > >>>> ряд пакетов с libmysqlclient21.
> > >>> Уточните, пожалуйста, почему в Сизифе нужно переходить
> > >>> на libmysqlclient.so.21, а не на libmariadb.so.3?
> > >> А почему в сизифе нужно переходить на gcc8, а не, например, icc 19 ?
> > >>
> > >> Наверное, ответ очевиден - это две разные библиотеки.
> > > Не совсем очевидно, поскольку у них был общий предок.
> > > Если клиентам всё равно, с чем линковаться, то что им рекомендовать,
> > > -lmariadb или -lmysqlclient?
> >
> > Ну выбор очевиден - если всё-таки тебе нужен mysqlclient, то выбирай
> > его. mariadb это не чистая замена для mysqlclient.
>
> Моя гипотеза заключается в том, что большинству приложений всё равно,
> но я не проверял.  Таким нетребовательным клиентам как postfix-mysql,
> например, точно всё равно.
>
> > Т.к. mariadb продолжает пытаться притворяться mysql, то разведены они
> > совсем фигово. Но у меня были случаи, когда приложение не собиралось с
> > mariadb, но при этом собиралось с mysqlclient:
> > https://bugzilla.altlinux.org/show_bug.cgi?id=35004 - тут есть
> некоторые
> > подробности, если интересно.
> >
> > Ещё можно посмотреть сюда:
> > https://mariadb.com/kb/en/library/mariadb-vs-mysql-compatibility/ - тут
> > есть некоторый список несовместимостей между этими базами - mariadb и
> mysql
> >
> > > По той же причине не очевидно, достаточно ли хорошо они разведены?
> > > Если libmariadb и libmysqlclient прямо или косвенно окажутся
> загруженными
> > > в память одного приложения, не приведёт ли механизм elf symbol
> interposition
> > > к тому, что эти библиотеки помешают друг другу?
> > > ]]
> >
> > Они разведены плохо (точнее никак), поэтому лучше оставить кого-то
> > одного в devel части. Библиотеки мешают друг другу так же как и раньше
> > мешал libmysqlclient19 вместе с libmysqlclient20 - мы не знаем об
> > известных случаях падений приложений, загружающих сразу две версии
> > libmysqlclient.
>
> Я сравнил списки символов, экспортируемых libmariadb.so.3 и
> libmysqlclient.so.21:
> 110 общих с префиксом mysql_,
> 114 только в libmariadb, из которых 83 с префиксом mysql_,
> 8 только в libmysqlclient, из которых 4 с префиксом mysql_.
>
> Другими словами, libmariadb и libmysqlclient, будучи загруженными
> одновременно, вероятно, будут мешать друг другу.
>
> > Что касается совместимости, то приложения, слинкованные с mysqlclient -
> > пока нормально подключаются туда и туда, надеюсь это поведение так и
> > останется.
> > Честно говоря, мне не очень хочется повторять историю с ffmpeg, когда мы
> > долгое время жили с его форком (libav), при этом страдали все, кроме
> > ментейнера ;)
>
> Тут хорошо бы угадать с выбором форка.
> Какой выбор сделали другие: Debian, Fedora, OpenSUSE?
>


Дима, тут _теперь_ выбор между Oracle и IBM. Если ещё учесть покупку
Microsoft крупного вендорами проприетарного клона Postgresql, то выбор наш
между хреном и редькой.

Rgrds, Алексей

>
>
>
>
----------- следующая часть -----------
Вложение в формате HTML было удалено...
URL: <http://lists.altlinux.org/pipermail/devel/attachments/20190205/bb336b08/attachment.html>


Подробная информация о списке рассылки Devel