Антон Рябов bio photo

Антон Рябов

Не люблю бриться и у меня умный взгляд.

Email Twitter Telegram Github PGP RSS

Попытка заменить MySQL на MariaDB

Изначально планировалось поставить запятую после Mariadb. Собственно сабж в том, что я хотел перевести свой сервер с парой Rails приложений c MySQL 5.1 на MariaDB 10, но не тут то было. Я столкнулся со странной магией и из-за отсутсвия времени отступил перед лицом проблемы.




В начале на сервере с Centos 6.6 работали Redmine, Gitlab и несколько простых парсеров на Ruby, которые с базой не общаются (пока). Стояла версия mysql-server-5.1.73-3.el6_5.x86_64. Было произведено “легкое” обновление до mysql-community-server-5.6.24-3.el6.x86_64 по инструкции с DO. Затем был произведен полный backup утилитой xtrabackup из репозитория Percona. И наконец было выполнено обновление до версии MariaDB-server-10 (ман). Естественно на время обновлений сервисы отключались. И вот, готовый к неожиданностям я начал их запускать и столкнулся с ошибкой:

Incorrect MySQL client library version! This gem was compiled for 5.1.73 but the client library is 5.3.12-MariaDB.

Гугления привели к решению:

$ gem uninstall mysql2
$ bundle config build.mysql2 --with-mysql-config=/usr/bin/mysql_config
$ bundle install

Сперва я опробовал его на redmine, и оно сработало, redmine принял новую версию базы данных как родную. Однако с gitlab это не прокатило…

Я бился пару дней, но в результате решил не тратить больше времени и откатился до mysql 5.6, чтобы gitlab работал. Для меня осталось загадкой, почему переустановка гема с необходимым параметром для одного приложения сработала нормально, а для другого нет. Версия гема ведь одинаковая. В печали я открыл issue в репозитории gitlabhq, но судя по отсутсвию активности, решение если и будет то не скоро. Эта статья задумывалась как мануал по переходу с mysql 5 на mariadb 10, но в итоге одно разочарование.

#MySQL #TechAndDev