I noticed today that although the akonadi server icon is in the system tray, the server itself is not running. When I try to start it, I get a bunch of errors, inclduing one that says, "Unknown Error (could not create collection)".
Looking through the test panel, I see a message that says, "Mysql server log contains errors." Tracing this out, I get the following:
So, the box says to read userbase.kde.org/Akonadi, which I did, and found a section describing exactly those errors. I followed these instructions:
I tried copying over the file specified, and making the changes suggested, but no luck. It just crashes on startup.
No luck searching here or the Ubuntu forum -- every message I can find has no solutions posted. Is there some kind of comprehensive manual (I haven't found it), or any other ideas??
Edit: Although the systray icon says akonadi is running, it clearly is not working. A calendar resource does not show any data in Korganizer, but when the calendar is loaded as a local file, it works. So akonadi may be running, but non-functional. Here is the output from starting akonadi manually:
Note the error 3rd line up from the bottom, essentially the same startup error.
Edit: Solution
Looking through the test panel, I see a message that says, "Mysql server log contains errors." Tracing this out, I get the following:
091127 11:02:16 [Note] Plugin 'FEDERATED' is disabled.
091127 11:02:17 InnoDB: Started; log sequence number 0 306819
091127 11:02:17 [Warning] Can't open and lock time zone table: Table 'mysql.time_zone_leap_second' doesn't exist trying to live without them
091127 11:02:17 [ERROR] Can't open and lock privilege tables: Table 'mysql.servers' doesn't exist
091127 11:02:17 [ERROR] Cannot open mysql.db
091127 11:02:17 [ERROR] Cannot open mysql.user
091127 11:02:17 [ERROR] Cannot open mysql.event
091127 11:02:17 [ERROR] Event Scheduler: An error occurred when initializing system tables.
091127 11:02:17 [Note] /usr/sbin/mysqld-akonadi: ready for connections.
Version: '5.1.37-1ubuntu5-log' socket: '/home/greenman/.local/share/akonadi/db_misc/mysql.socket' port: 0 (Ubuntu)
091127 11:02:17 InnoDB: Started; log sequence number 0 306819
091127 11:02:17 [Warning] Can't open and lock time zone table: Table 'mysql.time_zone_leap_second' doesn't exist trying to live without them
091127 11:02:17 [ERROR] Can't open and lock privilege tables: Table 'mysql.servers' doesn't exist
091127 11:02:17 [ERROR] Cannot open mysql.db
091127 11:02:17 [ERROR] Cannot open mysql.user
091127 11:02:17 [ERROR] Cannot open mysql.event
091127 11:02:17 [ERROR] Event Scheduler: An error occurred when initializing system tables.
091127 11:02:17 [Note] /usr/sbin/mysqld-akonadi: ready for connections.
Version: '5.1.37-1ubuntu5-log' socket: '/home/greenman/.local/share/akonadi/db_misc/mysql.socket' port: 0 (Ubuntu)
Table 'mysql. servers' doesn't exist
If MySQL server log contains the following error:
[ERROR] Can't open and lock privilege tables: Table 'mysql.servers' doesn't exist
[ERROR] Cannot open mysql.db
[ERROR] Cannot open mysql.user
[ERROR] Cannot open mysql.event
then, most probably, you don't have your MySQL configuration file in place. Copy it from /usr/share/config/akonadi/mysql-global.conf into ~/.config/akonadi/mysql-local.conf. (For debian users the file ist located in /etc/akonadi/mysql-global.conf). Then open it and uncomment the line sql_mode=strict_trans_tables. If, after that, you get the following errors:
[ERROR] Plugin 'InnoDB' init function returned error.
[ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE
failed.
[ERROR] Unknown/unsupported table type: innodb
[ERROR] Aborting
then in the same file find the line that starts just like the one above (which you have uncommented), but has additional parameters, separated by commas (something like sql_mode=strict_trans_tables,strict_all_tables, ...etc). Comment the shorter sql_mode=... line and uncomment the longer one.
If MySQL server log contains the following error:
[ERROR] Can't open and lock privilege tables: Table 'mysql.servers' doesn't exist
[ERROR] Cannot open mysql.db
[ERROR] Cannot open mysql.user
[ERROR] Cannot open mysql.event
then, most probably, you don't have your MySQL configuration file in place. Copy it from /usr/share/config/akonadi/mysql-global.conf into ~/.config/akonadi/mysql-local.conf. (For debian users the file ist located in /etc/akonadi/mysql-global.conf). Then open it and uncomment the line sql_mode=strict_trans_tables. If, after that, you get the following errors:
[ERROR] Plugin 'InnoDB' init function returned error.
[ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE
failed.
[ERROR] Unknown/unsupported table type: innodb
[ERROR] Aborting
then in the same file find the line that starts just like the one above (which you have uncommented), but has additional parameters, separated by commas (something like sql_mode=strict_trans_tables,strict_all_tables, ...etc). Comment the shorter sql_mode=... line and uncomment the longer one.
No luck searching here or the Ubuntu forum -- every message I can find has no solutions posted. Is there some kind of comprehensive manual (I haven't found it), or any other ideas??
Edit: Although the systray icon says akonadi is running, it clearly is not working. A calendar resource does not show any data in Korganizer, but when the calendar is loaded as a local file, it works. So akonadi may be running, but non-functional. Here is the output from starting akonadi manually:
Code:
greenman@Wolfenstein:~$ akonadictl start Starting Akonadi Server... done. greenman@Wolfenstein:~$ [akonadiserver] Database "akonadi" opened using driver "QMYSQL" [akonadiserver] DbInitializer::run() [akonadiserver] checking table "SchemaVersionTable" [akonadiserver] checking table "ResourceTable" [akonadiserver] checking table "CollectionTable" [akonadiserver] checking table "MimeTypeTable" [akonadiserver] checking table "PimItemTable" [akonadiserver] checking table "FlagTable" [akonadiserver] checking table "PartTable" [akonadiserver] checking table "CollectionAttributeTable" [akonadiserver] checking relation "PimItemFlagRelation" [akonadiserver] checking relation "CollectionMimeTypeRelation" [akonadiserver] checking relation "CollectionPimItemRelation" [akonadiserver] DbInitializer::run() done [akonadiserver] skipping update 2 [akonadiserver] skipping update 3 [akonadiserver] skipping update 4 [akonadiserver] skipping update 8 [akonadiserver] skipping update 10 [akonadiserver] skipping update 12 [akonadiserver] Database "akonadi" opened using driver "QMYSQL" [akonadiserver] Database "akonadi" opened using driver "QMYSQL" [akonadiserver] Nepomuk QueryServer interface not available! PLUGINS: "/usr/share/akonadi/agents" PLUGINS: ("birthdaysresource.desktop", "distlistresource.desktop", "icalresource.desktop", "imapresource.desktop", "kabcresource.desktop", "kcalresource.desktop", "knutresource.desktop", kolabproxyresource.desktop", "localbookmarksresource.desktop", "maildirresource.desktop", "microblog.desktop", "nepomukcontactfeeder.desktop", "nepomukemailfeeder.desktop", "nepomuktagresource.desktop", "nntpresource.desktop", "notesresource.desktop", "strigifeeder.desktop", "vcarddirresource.desktop", "vcardresource.desktop") PLUGINS inserting: "akonadi_birthdays_resource" 0 ("Resource") PLUGINS inserting: "akonadi_distlist_resource" 0 ("Resource") PLUGINS inserting: "akonadi_ical_resource" 2 ("Resource") PLUGINS inserting: "akonadi_imap_resource" 0 ("Resource") PLUGINS inserting: "akonadi_kabc_resource" 0 ("Resource") PLUGINS inserting: "akonadi_kcal_resource" 0 ("Resource") PLUGINS inserting: "akonadi_knut_resource" 0 ("Resource") PLUGINS inserting: "akonadi_kolabproxy_resource" 0 ("Resource", "Unique", "NoConfig") PLUGINS inserting: "akonadi_localbookmarks_resource" 0 ("Resource") PLUGINS inserting: "akonadi_maildir_resource" 0 ("Resource") PLUGINS inserting: "akonadi_microblog_resource" 0 ("Resource") PLUGINS inserting: "akonadi_nepomuk_contact_feeder" 0 ("Unique", "NoConfig") PLUGINS inserting: "akonadi_nepomuk_email_feeder" 0 ("Unique", "NoConfig") PLUGINS inserting: "akonadi_nepomuktag_resource" 0 ("Resource") PLUGINS inserting: "akonadi_nntp_resource" 0 ("Resource") PLUGINS inserting: "akonadi_notes_resource" 0 ("Resource") QFileSystemWatcher: failed to add paths: /usr/bin/akonadi_ical_resource PLUGINS inserting: "akonadi_strigi_feeder" 0 ("Unique") PLUGINS inserting: "akonadi_vcarddir_resource" 0 ("Resource") PLUGINS inserting: "akonadi_vcard_resource" 3 ("Resource") PLUGINS: "/usr/share/akonadi/agents" PLUGINS: ("birthdaysresource.desktop", "distlistresource.desktop", "icalresource.desktop", "imapresource.desktop", "kabcresource.desktop", "kcalresource.desktop", "knutresource.desktop", "kolabproxyresource.desktop", "localbookmarksresource.desktop", "maildirresource.desktop", "microblog.desktop", "nepomukcontactfeeder.desktop", "nepomukemailfeeder.desktop", "nepomuktagresource.desktop", "nntpresource.desktop", "notesresource.desktop", "strigifeeder.desktop", "vcarddirresource.desktop", "vcardresource.desktop") [akonadiserver] Database "akonadi" opened using driver "QMYSQL" [akonadiserver] Database "akonadi" opened using driver "QMYSQL" [akonadiserver] Error during insertion into table "CollectionTable" "Duplicate entry '0-akonadi_ical_resource_1' for key 'parentAndNameIndex' QMYSQL3: Unable to execute statement" [akonadiserver] Database "akonadi" opened using driver "QMYSQL" [akonadiserver] Database "akonadi" opened using driver "QMYSQL"
Edit: Solution
Hmm.
Try this:
shut down Akonadi and check that the mysql process for the current user has also been stopped.
The run this
mysql_install_db --datadir=$HOME/.local/share/akonadi/db_data/
Seems to help other people with problems after upgrades.
Try this:
shut down Akonadi and check that the mysql process for the current user has also been stopped.
The run this
mysql_install_db --datadir=$HOME/.local/share/akonadi/db_data/
Seems to help other people with problems after upgrades.