Summary: | аконади не стартует | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Gleb Kulikov <glebus> |
Component: | akonadi | Assignee: | Sergey V Turchin <zerg> |
Status: | CLOSED WONTFIX | QA Contact: | qa-sisyphus |
Severity: | blocker | ||
Priority: | P3 | CC: | anubix, zerg |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux | ||
URL: | http://bugs.kde.org/331867 |
Description
Gleb Kulikov
2014-03-31 08:10:28 MSK
Покажите для начала rpm -qf /usr/sbin/mysqld (В ответ на комментарий №1)
> Покажите для начала
> rpm -qf /usr/sbin/mysqld
mariadb-server-5.5.34-alt1
Эта проблема у каждого индивидуально проявляется. Я постараюсь что-нибудь придумать для предотвращения. В вашем конкретном случае сначала нужно удалить таблицу TagRemoteIdResourceRelationTable и попробовать снова запустить akonadi. Получить опцию для соединения с пользовательским mysqld можно командой ps x --cols 1000 -u $LOGNAME| grep -e 'mysqld.*akonadi'| head -n1| grep -e '--socket'| sed 's|.*\(--socket.*mysql.socket\).*|\1|' Потом mysql расположениесокета akonadi и в нем DROP TABLE TagRemoteIdResourceRelationTable; нет, это не работает: MariaDB [akonadi]> DROP TABLE akonadi.TagRemoteIdResourceRelationTable; ERROR 1051 (42S02): Unknown table 'TagRemoteIdResourceRelationTable и естественно, сохраняется "Sql error: Can't create table 'akonadi.TagRemoteIdResourceRelationTable' (errno: 150) QMYSQL: Unable to execute query Query: CREATE TABLE TagRemoteIdResourceRelationTable (tagId BIGINT NOT NULL, resourceId BIGINT NOT NULL, remoteId VARBINARY(255) NOT NULL, FOREIGN KEY (tagId) REFERENCES TagTable(id) ON UPDATE CASCADE ON DELETE CASCADE, FOREIGN KEY (resourceId) REFERENCES ResourceTable(id) ON U PDATE CASCADE ON DELETE CASCADE) COLLATE=utf8_general_ci DEFAULT CHARSET=utf8" Unable to initialize database. PS: KDE обновлён до 4.13 Тогда нужно подробнее индивидульно разбираться или удалить базу для создания новой. (В ответ на комментарий №5)
> Тогда нужно подробнее индивидульно разбираться или удалить базу для создания
> новой.
Разобрался!
%$#!
ранее старые базы аконади/майсиквела были созданы с параметрами default-character-set=latin1 default-collation=latin1_swedish_ci (??? это у всех так?!), в результате майсиквел отказывается создавать таблицу с отношением foreign key и default-character-set=utf8 default-collation=utf8_general_ci).
при отключении проверки ключей, таблицы создаются, но база не работает.
Пришлось пересоздать(!) таблицы и подменить(!) в них данные на старые. После применения такого трюка, всё работает.
Кошмар!
Проверил, в нашем KDE 4.13 такой бомбы, вроде как, нет: у нового пользователя таблицы создаются с корректными опциями. Но что делать, когда юзеров много?!
(В ответ на комментарий №6) > что делать, когда юзеров много?! Остановить Akonadi у всех перед обновлением или разлогинить. Нормального решения не нашел, поэтому в p7 обновлять не буду вместе с KDE, а при обновлении p7->p8 нужно будет указать в инструкции на необходимость останова akonadi. Можно сказать, что уже просрочилось. |