Архив метки: mysql

Пересборка php 5.3.x с клиентскими библиотеками MariaDB 10.x

При работе с текущей стабильной веткой MariaDB 10.x часто возникает проблема несовместимости клиентских библиотек. Выражается это вот так например:

mysql_connect(): Headers and client library minor version mismatch.

На эту тему есть даже отдельная статья по устранению неисправностей при работе с MariaDB из PHP 5. Для всех нормальных людей подходит рекомендуемый совет из той статьи: использовать mysqlnd-драйвер. Однако проблема в том, что старые версии PHP, а именно 5.3.x не имеют этот драйвер в своем составе по-умолчанию. Приходится либо переходить на более новую версию php с ожидаемыми глюками работы древних клиентских сайтов, либо вручную пересобирать клиентские библиотеки PHP. Это кстати один из предложенных способов решения проблемы по вышеприведенной ссылке. Вот как раз второе мы и рассмотрим в этой статье.

Читать далее

Переход с MySQL на MariaDB в ISPmanager 4.x на CentOS 6.x

ice_logo

Как вам должно быть известно, MySQL потихоньку «закапывается» компание Oracle, как это уже было проделано с OpenOffice. В результате (как и в случае с OpenOffice) появился уже довольно известный форк этой СУБД — MariaDB . Основной особенностью этого сервера БД являетя его почти полная бинарная совместимость с MySQL. В результате при переходе на новый сервер почти ничего не надо менять в настройках сервера БД. Далее в статье речь пойдет как перейти с сервера БД MySQL на MariaDB.

Читать далее

Бэкап и перенос InnoDB таблиц

Возникла на работе проблема: на нашем сервере мониторинга после грубого отключения питания HDD стал чувствовать себя не очень. И надо же такому случится, что сбойные сектора оказались именно на месте 8-гиговой базы Zabbix. Сама база использовала движок InnoDB и хранила данные в shared-хранилище(один огромный файл). Были ли бэкапы, спросите вы? Конечно были. Только как оказалось, бэкапить на уровне файловой системы только хранилище данных(вместе с бинарными журналами) оказалось плохой идеей: после восстановления этого бэкапа, MySQL падал при любой попытке чтения некоторых(не всех) таблиц из этой базы даже при установленном максимальном уровне режима восстановления (innodb_force_recovery=6). Хорошо, что бэкапов было несколько и мне удалось сдампить все таблицы из разных версий бэкапа.

По результатам разбирательства с этой проблемой возник вопрос, а как вообще можно бэкапить innodb-таблицы кроме традиционного способа с помощью mysqldump(и сопутствующим восстановлением в течении 4 часов этого дампа)? Первый напрашивающийся вариант — остановить сервер БД и сделать бэкап на уровне ФС не «проканал», т.к. после восстановления бэкапа на чистой инсталляции, MySQL точно так же падал при попытке чтения из этой БД.

Читать далее