Почему Akonadi не запускается после обновления от Ubuntu 19.04 до 19,10?

Я обновил Ubuntu 19.04 до 19,10, и Akonadi (5.11.3) не запускается после перезагрузки. Когда я пытаюсь запустить akonadi сервер в командной строке, это - то, что я получаю:

~ $ akonadictl запускаются

Соединение с сигналом устаревшим QDBusConnectionInterface:: serviceOwnerChanged (QString, QString, QString)

org.kde.pim.akonadiserver: Запуск Сервера Akonadi...

org.kde.pim.akonadiserver: сервер базы данных неожиданно останавливается

org.kde.pim.akonadiserver: процесс Базы данных, из которого выходят неожиданно во время начального соединения! org.kde.pim.akonadiserver: исполняемый файл: "/usr/sbin/mysqld-akonadi" org.kde.pim.akonadiserver: аргументы: (" - файл значений по умолчанию =/home/me/.local/share/akonadi/mysql.conf", "-datadir =/home/me/.local/share/akonadi/db_data /", "-снабжают =/run/user/1001/akonadi/default/mysql.socket сокетом", "-изодромный с предварением файл =/run/user/1001/akonadi/default/mysql.pid"),

org.kde.pim.akonadiserver: stdout: "" org.kde.pim.akonadiserver: stderr: "" org.kde.pim.akonadiserver: код выхода: 1

org.kde.pim.akonadiserver: ошибка процесса: "Неизвестная ошибка" mysqladmin: соединитесь с сервером в отказавшей ошибке 'localhost': 'Не может соединиться с локальным сервером MySQL через сокет '/run/user/1001/akonadi/default/mysql.socket' (2)' Проверка, которую mysqld осуществляет и что сокет: '/run/user/1001/akonadi/default/mysql.socket' существует!

org.kde.pim.akonadiserver: Не удалось удалить файл конфигурации соединения во время выполнения org.kde.pim.akonadiserver: Закрытие AkonadiServer...

Я проверяю mysql.err файл со следующим входом.

~ кошка $ ~/.local/share/akonadi/db_data/mysql.err

2019-10-19T11:27:02.910707Z 0 [Предупреждающий] [МОИ 010097] [Сервер] Небезопасная конфигурация для - secure-file-priv: Текущее значение не ограничивает местоположение сгенерированных файлов. Рассмотрите установку его к допустимому, непустому пути.

[Система] 2019-10-19T11:27:02.910736Z 0 [МОИ 010116] [Сервер]/usr/sbin/mysqld (mysqld 8.0.17-0ubuntu2) запускающийся как процесс 8385

2019-10-19T11:27:02.912513Z 0 [Предупреждающий] [МОИ 013242] [Сервер] - сервер набора символов: 'utf8' в настоящее время является псевдонимом для набора символов UTF8MB3, но будет псевдонимом для UTF8MB4 в будущем выпуске. Рассмотрите использование UTF8MB4, чтобы быть однозначными.

2019-10-19T11:27:02.912523Z 0 [Предупреждающий] [МОИ 013244] [Сервер] - сервер сопоставления: 'utf8_general_ci' является сопоставлением набора символов устаревшего UTF8MB3. Рассмотрите использование UTF8MB4 с соответствующим сопоставлением вместо этого. [Система] 2019-10-19T11:27:02.917836Z 1 [МОИ 011012] [Сервер] Стартовое обновление каталога данных.

[ОШИБКА] 2019-10-19T11:27:03.171213Z 1 [МОИ 010781] [Сервер] Найденный./mysql/index_stats.frm файл в mysql схеме. DD создаст .ibd файл с тем же именем. Переименуйте таблицу и запустите процесс обновления снова.

[ОШИБКА] 2019-10-19T11:27:03.171223Z 1 [МОИ 010336] [Сервер] Найденный .frm файл с тем же именем как одна из Таблиц Словаря.

[ОШИБКА] 2019-10-19T11:27:03.171330Z 0 [МОИ 010020] [Сервер] инициализация Словаря Данных перестала работать.

[ОШИБКА] 2019-10-19T11:27:03.171338Z 0 [МОИ 013236] [Сервер] обозначенный каталог данных,/home/me/.local/share/akonadi/db_data/, неприменима. Можно удалить все файлы что сервер, добавленный к нему.

[ОШИБКА] 2019-10-19T11:27:03.697829Z 0 [МОИ 010065] [Сервер], Неудавшийся для завершения работу инфраструктуры компонентов.

[ОШИБКА] 2019-10-19T11:27:03.171475Z 0 [МОИ 010119] [Сервер] Прерывание

[Система] 2019-10-19T11:27:03.697752Z 0 [МОИ 010910] [Сервер]/usr/sbin/mysqld: завершенное Завершение работы (mysqld 8.0.17-0ubuntu2) (Ubuntu).

Почему Akonadi не запускается после обновления от Ubuntu 19.04 до 19,10? Это подключено к обновлению mysql 8.0? Как это может быть решено?

0
задан 19 October 2019 в 14:44

4 ответа

mariadb должен теперь использоваться. mysql 8 не является comapatible.

sudo apt install mariadb-server-core-10.3 mariadb-client-core-10.3
2
ответ дан 22 December 2019 в 00:17

У меня также были проблемы Akonadi начиная с обновления от Kubuntu 19.04 до 19,10. mysql файл журнала ~/.local/share/akonadi/db_data/mysql.err содержавшие ошибки как:

unknown variable 'log-warnings=2'

Так, я прокомментировал тех, которые в /home/NNN/.local/share/akonadi/mysql.conf:

# print warnings and connection errors (default:1)
#log_warnings=2
 .
 .
# Memory allocated for caching query results (default:0 (disabled))
#query_cache_size=0 
. .
# Do not cache results (default:1)
#query_cache_type=0

Честно говоря, я не заботился, какие переменные были заменены и каковы последствия будут...

1
ответ дан 22 December 2019 в 00:17

Ошибка говорит, что существует пользовательская таблица в MySQL с именем index_stats который кажется странным. Если Вы или одна из программ, которые Вы используете, не составили ту таблицу.

Другими словами, у Вас не может быть таблиц с тем именем больше, потому что MySQL 8.0 использует таблицу с тем именем.

Можно попытаться переименовать файл к чему-то как index_stats_bak.frm но ее твердое для высказывания, что произойдет с любым использованием программы это.

Это сообщение имеет список имен таблиц, которые теперь используются системой, index_stats среди них.

При рассмотрении источника для Akonadi, который составляет таблицы, это кажется очень маловероятным, был бы конфликт с MySQL 8. Мое предположение - то, что было частичное обновление MySQL, который оставил часть новых таблиц, но не всех. index_stats был, вероятно, создан в том частичном обновлении.

0
ответ дан 22 December 2019 в 00:17

Получая ту же проблему, akonadi не работающий из-за MySQL за обновлением. Для меня установка MariaDB не является опцией из-за моей работы. Я использовал MariaDB прежде, и я должен был переключиться на MySQL.

   1   │ 2019-11-17T22:14:02.183446Z 0 [Warning] [MY-010097] [Server] Insecure configuration for --secure-file-priv: C
       │ urrent value does not restrict location of generated files. Consider setting it to a valid, non-empty path.
   2   │ 2019-11-17T22:14:02.183483Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.17-0ubuntu2) startin
       │ g as process 30942
   3   │ 2019-11-17T22:14:02.186416Z 0 [Warning] [MY-013242] [Server] --character-set-server: 'utf8' is currently an a
       │ lias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider usi
       │ ng UTF8MB4 in order to be unambiguous.
   4   │ 2019-11-17T22:14:02.186429Z 0 [Warning] [MY-013244] [Server] --collation-server: 'utf8_general_ci' is a colla
       │ tion of the deprecated character set UTF8MB3. Please consider using UTF8MB4 with an appropriate collation ins
       │ tead.
   5   │ 2019-11-17T22:14:02.194794Z 1 [ERROR] [MY-011011] [Server] Failed to find valid data directory.
   6   │ 2019-11-17T22:14:02.194929Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
   7   │ 2019-11-17T22:14:02.195077Z 0 [ERROR] [MY-010119] [Server] Aborting
   8   │ 2019-11-17T22:14:02.195315Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.1
       │ 7-0ubuntu2)  (Ubuntu).

Это ошибка и предупреждения, которые я получаю.

Сначала избавится от шумных предупреждений vim /home/mathieu/.local/share/akonadi/mysql.conf

замена character_set_server=utf8 для становления utf8mb4 комментируют collation_server= согласно этому документу, значением по умолчанию является хороший https://dev.mysql.com/doc/refman/8.0/en/charset-server.html

Я не думаю, что мы можем сделать что-либо о secure_file_priv= Я полагаю, что akonadi нужен он пустой, чтобы смочь загрузить файлы из произвольных местоположений. документ: https://dev.mysql.com/doc/refman/8.0/en/string-functions.html

затем, фактическая ошибка Failed to find valid data directory

так как akonadi является главным образом временными данными, я думаю, что самое легкое должно уничтожить db_data каталог и запуститься. мы переименуем папку вместо того, чтобы удалить его

$ cd ~/.local/share/akonadi
$ mv db_data db_databkp
$ mkdir db_data
$ /usr/sbin/mysqld-akonadi --defaults-file=/home/mathieu/.local/share/akonadi/mysql.conf --datadir=/home/mathieu/.local/share/akonadi/db_data/ --socket=/run/user/1000/akonadi/default/mysql.socket --pid-file=/run/user/1000/akonadi/default/mysql.pid --initialize --console

--initialize опция запускается db_data новый dir. при сравнении обоих dir Вы будете видеть набор файлов, которые отличаются от предыдущего.

теперь получение этой ошибки

[ERROR] [MY-011087] [Server] Different lower_case_table_names settings for server ('1') and data dictionary ('0').

Я переключаю эту опцию lower_case_table_names= в mysql.conf от 1 до 0

также необходимо прокомментировать эту опцию устаревшую

log_warnings=2

Я больше не называю mysqld-akonadi непосредственно, с длинным набором аргументов, но просто работаю akonadiserver и catлуг mysql.error файл журнала

получение этой ошибки теперь [Server] unknown variable 'query_cache_size=0'

прокомментирует этот

также потребность прокомментировать query_cache_type=0

и akonadi может работать с MySQL 8

Таким образом:

  • utf8 к utf8mb4 является хорошим изменением, оставление обоих прокомментированных является новым значением по умолчанию
  • прокомментируйте 4 опции устаревших
  • отодвиньте свой старый db_data каталог, создайте пустой dir вместо этого
  • перезапуск akonadiserver

Надеюсь, это поможет

Обновление: если Вы получаете эту ошибку

org.kde.pim.akonadiserver: Running DB initializer
org.kde.pim.akonadiserver: "\nSql error: Duplicate column name 'version' QMYSQL: Unable to execute query\nQuery: ALTER TABLE SchemaVersionTable ADD COLUMN version INTEGER NOT NULL DEFAULT 0"

это означает, что столбец был уже добавлен, но миграция базы данных не была отмечена, как сделано. Я рекомендовал бы уничтожить db_data папка снова, выполняя инициализирование вручную. и запуск akonadiserver

его наконец выполнение для меня. и korganizer, который постоянно отказывал в 19,04 теперь выполнения ;)

1
ответ дан 22 December 2019 в 00:17

Другие вопросы по тегам:

Похожие вопросы: