Обновляем Percona Server 5.1 -> 5.5

При обновлении Percona возникает отображаются вот такие сообщения:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
Получено 65,7MБ за 4мин 8с (264kБ/c) Предварительная настройка пакетов ... (Чтение базы данных ... на данный момент установлено 308656 файлов и каталогов.) Удаляется пакет percona-server-server-5.1 ... * Stopping MySQL database server mysqld [fail] invoke-rc.d: initscript mysql, action "stop" failed. dpkg: не удалось обработать параметр percona-server-server-5.1 (--remove): подпроцесс установлен сценарий pre-removal возвратил код ошибки 1 * Stopping MySQL database server mysqld [fail] invoke-rc.d: initscript mysql, action "stop" failed. * Starting MySQL database server mysqld [fail] invoke-rc.d: initscript mysql, action "start" failed. dpkg: ошибка при очистке - подпроцесс установлен сценарий post-installation возвратил код ошибки 1 dpkg: percona-server-common: имеются проблемы с зависимостями, но по вашему указанию он всё равно будет удалён: percona-server-client-5.1 зависит от percona-server-common (>= 5.1.52-12.3-159.maverick). Удаляется пакет percona-server-common ... При обработке следующих пакетов произошли ошибки: percona-server-server-5.1 E: Sub-process /usr/bin/dpkg returned an error code (1) |
Довольно долго пытался разрулить эту проблему, и спасибо, друг Макс помог разобраться с этим вопросом. Итак, вот рецепт:
1. Бэкапим базы!!! Да, не забиваем, а бекапим. Есть шанс, что они удалятся.
2. Обновляем пакеты
|
1 2 |
sudo apt-get update sudo apt-get upgrade |
2. Удаляем старую Percona и файл конфигурации. Перед этим его нужно также забекапить.
|
1 2 3 |
sudo apt-get remove libmysqlclient16 libmysqlclient-dev sudo apt-get purge percona-server-client percona-server-server percona-server-common mv /etc/mysql/my.cnf /etc/mysql/my.cnf.old |
3. Устанавливаем новую
|
1 |
sudo apt-get install percona-server-server-5.5 percona-server-client-5.5 |
4. Пакеты связанные с mysql тоже удалились, ставим их заново.
|
1 |
apt-get install php5-mysql phpmyadmin |
4. Делаем симлинки, чтобы php не ругался при запуске. Как выяснилось, дело было именно в них.
|
1 2 3 |
ln -s /usr/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient_r.so.16 rm /usr/lib/libmysqlclient.so ln -s /usr/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so |
Теперь всё должно работать. Проверяем:
|
1 2 3 4 5 |
root@z11:/usr/lib# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 204 Server version: 5.5.10-55 Percona Server (GPL), Release 20.1 |