LinuxForum.Fans
Тема

Проблема с Akonadi Server

Автор: Alsnake 7 сообщений 6323 просмотров
#80537

Приветствую!
После обновления KDE до 4.4.4 (OpenSUSE 11.2) при запуске «Kontact» вываливаются ошибки загрузки Akonadi Server. При этом система начинает жутко тормозить, а иногда и накрывается графический режим.
Вот что выдает Akonadi:

text

Akonadi Server Self-Test Report
===============================

Test 1: SUCCESS --------

Database driver found. Details: The QtSQL driver 'QMYSQL' is required by your current Akonadi server configuration and was found on your system.

File content of '/home/alex/.config/akonadi/akonadiserverrc': [%General] Driver=QMYSQL SizeThreshold=4096 ExternalPayload=false

[QMYSQL] Name=akonadi Host= User= Password= Options="UNIX_SOCKET=/home/alex/.local/share/akonadi/db_misc/mysql.socket" ServerPath=/usr/sbin/mysqld StartServer=true

[Debug] Tracer=null

Test 2: SUCCESS --------

MySQL server found. Details: You currently have configured Akonadi to use the MySQL server '/usr/sbin/mysqld'. Make sure you have the MySQL server installed, set the correct path and ensure you have the necessary read and execution rights on the server executable. The server executable is typically called 'mysqld', its locations varies depending on the distribution.

Test 3: SUCCESS --------

MySQL server is executable. Details: MySQL server found: /usr/sbin/mysqld Ver 5.1.36 for suse-linux-gnu on x86_64 (SUSE MySQL RPM)

Test 4: WARNING --------

MySQL server log contains warnings. Details: The MySQL server log file '<a href='/home/alex/.local/share/akonadi/db_data/mysql.err'>/home/alex/.local/share /akonadi/db_data/mysql.err</a>' contains warnings.

File content of '/home/alex/.local/share/akonadi/db_data/mysql.err': 100917 12:23:43 [Note] Plugin 'ndbcluster' is disabled. 100917 12:23:43 InnoDB: Started; log sequence number 0 304972 100917 12:23:43 [Note] /usr/sbin/mysqld: ready for connections. Version: '5.1.36-log' socket: '/home/alex/.local/share/akonadi/db_misc/mysql.socket' port: 0 SUSE MySQL RPM 100917 12:23:55 [Note] /usr/sbin/mysqld: Normal shutdown

100917 12:23:55 InnoDB: Starting shutdown... 100917 12:23:57 InnoDB: Shutdown completed; log sequence number 0 304982 100917 12:23:57 [Warning] Forcing shutdown of 1 plugins 100917 12:23:57 [Note] /usr/sbin/mysqld: Shutdown complete

Test 5: SUCCESS --------

MySQL server default configuration found. Details: The default configuration for the MySQL server was found and is readable at <a href='/etc/akonadi/mysql-global.conf'>/etc/akonadi/mysql-global.conf</a>.

File content of '/etc/akonadi/mysql-global.conf': # # Global Akonadi MySQL server settings, # These settings can be adjusted using $HOME/.config/akonadi/mysql-local.conf # # Based on advice by Kris K&#195;¶hntopp <kris@mysql.com> # [mysqld] skip_grant_tables skip_networking

# strict query parsing/interpretation # TODO: make Akonadi work with those settings enabled #sql_mode=strict_trans_tables,strict_all_tables, strict_error_for_division_by_zero,no_auto_create_user,no_auto_value_on_zero, no_engine_substitution,no_zero_date,no_zero_in_date,only_full_group_by, pipes_as_concat #sql_mode=strict_trans_tables

# use InnoDB for transactions and better crash recovery default_storage_engine=innodb # case-insensitive table names, avoids trouble on windows lower_case_table_names=1 character_set_server=latin1 collation_server=latin1_general_ci table_cache=200 thread_cache_size=3 log_bin=mysql-bin expire_logs_days=3 #sync_bin_log=0 # error log file name, relative to datadir log_error=mysql.err log_warnings=2 # log all queries, useful for debugging but generates an enormous amount of data #log=mysql.full # log queries slower than n seconds, log file name relative to datadir (for debugging only) #log_slow_queries=mysql.slow #long_query_time=1 # log queries not using indices, debug only, disable for production use #log_queries_not_using_indexes=1 # maximum blob size max_allowed_packet=32M max_connections=256 # makes sense when having the same query multiple times # makes no sense with prepared statements and/or transactions query_cache_type=0 query_cache_size=0

innodb_file_per_table=1 innodb_log_buffer_size=1M innodb_additional_mem_pool_size=1M # messure database size and adjust # SELECT sum(data_length) as bla, sum(index_length) as blub FROM information_schema.tables WHERE table_schema not in ("mysql", "information_schema"); innodb_buffer_pool_size=80M # size of average write burst, keep Innob_log_waits small, keep Innodb_buffer_pool_wait_free small (see show global status like "inno%", show global variables) innodb_log_file_size=64M innodb_flush_log_at_trx_commit=2

# Do not drop the connection to the DB after 8 hours of inactivity wait_timeout=1296000

Test 6: SKIP --------

MySQL server custom configuration not available. Details: The custom configuration for the MySQL server was not found but is optional.

Test 7: SUCCESS --------

MySQL server configuration is usable. Details: The MySQL server configuration was found at <a href='/home/alex/.local/share/akonadi/mysql.conf'>/home/alex/.local/share/ akonadi/mysql.conf</a> and is readable.

File content of '/home/alex/.local/share/akonadi/mysql.conf': # # Global Akonadi MySQL server settings, # These settings can be adjusted using $HOME/.config/akonadi/mysql-local.conf # # Based on advice by Kris K&#195;¶hntopp <kris@mysql.com> # [mysqld] skip_grant_tables skip_networking

# strict query parsing/interpretation # TODO: make Akonadi work with those settings enabled #sql_mode=strict_trans_tables,strict_all_tables, strict_error_for_division_by_zero,no_auto_create_user,no_auto_value_on_zero, no_engine_substitution,no_zero_date,no_zero_in_date,only_full_group_by, pipes_as_concat #sql_mode=strict_trans_tables

# use InnoDB for transactions and better crash recovery default_storage_engine=innodb # case-insensitive table names, avoids trouble on windows lower_case_table_names=1 character_set_server=latin1 collation_server=latin1_general_ci table_cache=200 thread_cache_size=3 log_bin=mysql-bin expire_logs_days=3 #sync_bin_log=0 # error log file name, relative to datadir log_error=mysql.err log_warnings=2 # log all queries, useful for debugging but generates an enormous amount of data #log=mysql.full # log queries slower than n seconds, log file name relative to datadir (for debugging only) #log_slow_queries=mysql.slow #long_query_time=1 # log queries not using indices, debug only, disable for production use #log_queries_not_using_indexes=1 # maximum blob size max_allowed_packet=32M max_connections=256 # makes sense when having the same query multiple times # makes no sense with prepared statements and/or transactions query_cache_type=0 query_cache_size=0

innodb_file_per_table=1 innodb_log_buffer_size=1M innodb_additional_mem_pool_size=1M # messure database size and adjust # SELECT sum(data_length) as bla, sum(index_length) as blub FROM information_schema.tables WHERE table_schema not in ("mysql", "information_schema"); innodb_buffer_pool_size=80M # size of average write burst, keep Innob_log_waits small, keep Innodb_buffer_pool_wait_free small (see show global status like "inno%", show global variables) innodb_log_file_size=64M innodb_flush_log_at_trx_commit=2

# Do not drop the connection to the DB after 8 hours of inactivity wait_timeout=1296000

Test 8: SUCCESS --------

akonadictl found and usable Details: The program '/usr/bin/akonadictl' to control the Akonadi server was found and could be executed successfully. Result: Akonadi 1.3.1

Test 9: ERROR --------

Akonadi control process not registered at D-Bus. Details: The Akonadi control process is not registered at D-Bus which typically means it was not started or encountered a fatal error during startup.

Test 10: ERROR --------

Akonadi server process not registered at D-Bus. Details: The Akonadi server process is not registered at D-Bus which typically means it was not started or encountered a fatal error during startup.

Test 11: ERROR --------

Nepomuk search service not registered at D-Bus. Details: The Nepomuk search service is not registered at D-Bus which typically means it was not started or encountered a fatal error during startup.

Test 12: SKIP --------

Protocol version check not possible. Details: Without a connection to the server it is not possible to check if the protocol version meets the requirements.

Test 13: ERROR --------

No resource agents found. Details: No resource agents have been found, Akonadi is not usable without at least one. This usually means that no resource agents are installed or that there is a setup problem. The following paths have been searched: '/usr/share/akonadi/agents'. The XDG_DATA_DIRS environment variable is set to '/usr/share:/etc/opt/kde3/share:/opt/kde3/share', make sure this includes all paths where Akonadi agents are installed to.

Directory listing of '/usr/share/akonadi/agents': birthdaysresource.desktop distlistresource.desktop icalresource.desktop imapresource.desktop kabcresource.desktop kcalresource.desktop kolabproxyresource.desktop localbookmarksresource.desktop maildirresource.desktop microblog.desktop nepomuktagresource.desktop nntpresource.desktop notesresource.desktop strigifeeder.desktop vcarddirresource.desktop vcardresource.desktop

Environment variable XDG_DATA_DIRS is set to '/usr/share:/etc/opt/kde3/share:/opt/kde3/share'

Test 14: SUCCESS --------

No current Akonadi server error log found. Details: The Akonadi server did not report any errors during its current startup.

Test 15: SUCCESS --------

No previous Akonadi server error log found. Details: The Akonadi server did not report any errors during its previous startup.

Test 16: SUCCESS --------

No current Akonadi control error log found. Details: The Akonadi control process did not report any errors during its current startup.

Test 17: ERROR --------

Previous Akonadi control error log found. Details: The Akonadi control process did report error during its previous startup into <a href='/home/alex/.local/share/akonadi/akonadi_control.error.old'>/home/alex/. local/share/akonadi/akonadi_control.error.old</a>.

File content of '/home/alex/.local/share/akonadi/akonadi_control.error.old': 0: /usr/bin/akonadi_control(_Z11akBacktracev+0x39) [0x416989] 1: /usr/bin/akonadi_control [0x416ed2] 2: /lib64/libc.so.6 [0x7ffd114e4560] 3: /lib64/libc.so.6(gsignal+0x35) [0x7ffd114e44e5] 4: /lib64/libc.so.6(abort+0x180) [0x7ffd114e59b0] 5: /usr/lib64/libQtCore.so.4(_Z17qt_message_output9QtMsgTypePKc+0x74) [0x7ffd12696e54] 6: /usr/lib64/libQtCore.so.4 [0x7ffd12697032] 7: /usr/lib64/libQtCore.so.4(_Z6qFatalPKcz+0x95) [0x7ffd126971e5] 8: /usr/bin/akonadi_control(_ZN12AgentManagerC1EP7QObject+0x461) [0x421a81] 9: /usr/bin/akonadi_control(main+0x4be) [0x42d25e] 10: /lib64/libc.so.6(__libc_start_main+0xfd) [0x7ffd114d0a7d] 11: /usr/bin/akonadi_control [0x411e79]

Не могу понять что он хочет. Помогите разобраться.

#80595

Маленький ХавТу ...
1. Для облегчения задачи(и экономии нервных клеток ИМХО :D ) лучше это делать из консоли (по Alt+F[2...6]) ..
2. заходим root'ом и делаем :
[console]
root@host # chmod 755 /etc/<путь до файла для вашего дистрибутива>/rc.mysqld
root@host # /etc/<путь до файла для вашего дистрибутива>/rc.mysqld start
[/console]
здесь мускуль попробует стартануть и непонятно ругнётся на какую нибудь бяку , ничего страшного ...
... да проверьте пользователя и группу mysql , они должны быть и домашний каталог пользователя mysql должен быть /var/lib/mysql , если у вас другой ниже соответственно скорректируйте ...
3. далее :
[console]
root@host # mysql_install_db
root@host # chown -R mysql:mysql /var/lib/mysql
root@host # chown -R mysql:mysql /var/run/mysql
root@host # /etc/<путь до файла для вашего дистрибутива>/rc.mysqld start
root@host # 100917 21:40:59 mysqld_safe Logging to '/var/lib/mysql/host.err'.
100917 21:40:59 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

root@host #
[/console]
проверим как работает :
[console]
root@host # mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.46-log Source distribution

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

[/console]
можно поупражняться с мускулем если есть охота , но так-то цель другая пока , выходим ...
[console]
mysql> \q
Bye
root@host #
[/console]
возможно придётся изменить usermod для пользователя mysql , но это отдельная тема , в принципе все это делается и через гуи в кедах без проблем ...
4. Собсно настраиваем akonadi . Есть два мнения на этот момент мне больше нравится такой :
из консоли (ака tty1-9) root'ом делаем :
[console]
root@host # init 3
.............................
........
root@host #startx
[/console]
оказываемся в кедах под рутом oO ...
терпеливо наблюдаем как корчится akonadi в попытках достичь недостижимого ... когда ему это надоест , находим в домашнем каталоге(рута естественно)
скрытый файлик : ~/.local/share/akonadi/mysql.conf .. Зачем такие сложности ? Этот файл создаётся только после старта KDE , а т.к. во многих дистрах root'у запрещен графический вход ,.. думаю понятно ...
в нём правим всего одну строчку :

text

[mysqld]
user=root # добавляем её !
skip_grant_tables
skip_networking

сохраняем , в принципе вся настройка , так-то ..
5 . Остался последний шаг инициировать базу данных akonadi .
Для этого можно прямо тут же , в терминале выполнить команду :

text

akonadictl start

обычно он стартует сразу , но бывает что и раза со второго , выскочит окошко о миграции закладок в книге kmail вот и все ...

после этого выходим из root'а и для очистки совести можно перезагрузиться ...
В своей учетке смотрим это же окошко всего один раз , после успешной миграции , akonadi больше никогда ! вас не побеспокоит :D
Несколько ссылок для просвещения :
Домашняя страница проекта
KDE TechBase
Старые проблемы
какие-то фичи
Удачи !

#80668

вот картинка :

#80672

gramozeka, спасибо. ИМХО можно в FAQ рекомендовать.

gramozeka написал:
терпеливо наблюдаем как корчится akonadi в попытках достичь недостижимого

посмеялся :lol: А можно как-нить поаккуратнее?

#80718
drBatty написал:
gramozeka, спасибо. ИМХО можно в FAQ рекомендовать.
[quote=gramozeka]терпеливо наблюдаем как корчится akonadi в попытках достичь недостижимого

посмеялся :lol: А можно как-нить поаккуратнее?[/quote]
например так ( с вумным видом назидательным тоном) :

gramozeka написал:

" ... ждём пока akonadi проверяет необходимые условия для запуска и создает базу данных об ошибках , а так же все необходимые для своей работы файлы , процесс этот может занять некоторое время , которое зависит от производительности компьютера , не пугайтесь , попыток автоматического запуска будет от 2-х до 4-х , после того как вы получите окно с отчетом об ошибках (2-4 шт.) закройте их и ..."

сойдет ? oO

#80739
gramozeka написал:
сойдет ? blink

не, первый вариант лучше! :lol:

#81304

Благодарю всех откликнувшихся.
2 gramozeka: в OpenSuse пути и названия файлов отличаются от вашего варианта. По п.4. файлик : ~/.local/share/akonadi/mysql.conf не создается.

Проблему решил так:
-Включил на автозапуск службу mysql. (Центр управления Yast2 - Системные службы - (Экспертный режим) - выбираем mysql - (Установить/Сбросить) - Включить службу.

-Выполнил команду "sudo aa-complain mysqld"

-Удалил настройки akonadi в домашней директории.

После перезагрузки все завелось.
Вопрос решен. Тему можно закрывать.

Войдите или зарегистрируйтесь, чтобы ответить.