当我在 Kubuntu 23.04 中启动 KMail 时,系统提示 Akonadi 个人信息管理器无法运行。我最近一直在设置 mysql 以在 amarok 中使用。当我尝试启动该服务时,发生了以下情况:
akonadictl start org.kde.pim.akonadictl: Starting Akonadi Server...
org.kde.pim.akonadictl: done.
Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
org.kde.pim.akonadiserver: Starting up the Akonadi Server...
mysqld-akonadi: [ERROR] Failed to open required defaults file: /etc/xdg/akonadi/mysql-global.conf
mysqld-akonadi: [ERROR] Fatal error in defaults handling. Program aborted!
org.kde.pim.akonadiserver: database server stopped unexpectedly
org.kde.pim.akonadiserver: Database process exited unexpectedly during initial connection!
org.kde.pim.akonadiserver: executable: "/usr/sbin/mysqld-akonadi"
org.kde.pim.akonadiserver: arguments: ("--defaults-file=/home/tweak/.local/share/akonadi/mysql.conf", "--datadir=/home/tweak/.local/share/akonadi/db_data/", "--socket=/run/user/1000/akonadi/mysql.socket", "--pid-file=/run/user/1000/akonadi/mysql.pid")
org.kde.pim.akonadiserver: stdout: ""
org.kde.pim.akonadiserver: stderr: "mysqld-akonadi: [ERROR] Failed to open required defaults file: /home/tweak/.local/share/akonadi/mysql.conf\nmysqld-akonadi: [ERROR] Fatal error in defaults handling. Program aborted!\n"
org.kde.pim.akonadiserver: exit code: 1
org.kde.pim.akonadiserver: process error: "Unknown error"
org.kde.pim.akonadiserver: Shutting down AkonadiServer...
org.kde.pim.akonadicontrol: Application '/usr/bin/akonadiserver' exited normally...
我该如何恢复并再次使用 kmail?看来确实存在引用错误的文件。
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öhntopp <[email protected]>
#
[mysqld]
# 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
# DEBUGGING:
# 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
#
# measure database size and adjust innodb_buffer_pool_size
# SELECT sum(data_length) as bla, sum(index_length) as blub FROM information_schema.tables WHERE table_schema not in ("mysql", "information_schema");
# NOTES:
# Keep Innob_log_waits and keep Innodb_buffer_pool_wait_free small (see show global status like "inno%", show global variables)
#expire_logs_days=3
#sync_bin_log=0
# Use UTF-8 encoding for tables
character_set_server=utf8
collation_server=utf8_general_ci
# use InnoDB for transactions and better crash recovery
default_storage_engine=innodb
# memory buffer InnoDB uses to cache data and indexes of its tables (default:128M)
# Larger values means less I/O
innodb_buffer_pool_size=128M
# Create a .ibd file for each table (default:0)
innodb_file_per_table=1
# Write out the log buffer to the log file at each commit (default:1)
innodb_flush_log_at_trx_commit=2
# Buffer size used to write to the log files on disk (default:1M for builtin, 8M for plugin)
# larger values means less I/O
innodb_log_buffer_size=1M
# Size of each log file in a log group (default:5M) larger means less I/O but more time for recovery.
innodb_log_file_size=64M
# # error log file name, relative to datadir (default:hostname.err)
log_error=mysql.err
# print warnings and connection errors (default:1)
loose_log_warnings=2
# Convert table named to lowercase
lower_case_table_names=1
# Maximum size of one packet or any generated/intermediate string. (default:1M)
max_allowed_packet=32M
# Maximum simultaneous connections allowed (default:100)
max_connections=256
# The two options below make no sense with prepared statements and/or transactions
# (make sense when having the same query multiple times)
# Memory allocated for caching query results (default:0 (disabled))
loose_query_cache_size=0
# Do not cache results (default:1)
loose_query_cache_type=0
# Do not use the privileges mechanisms
skip_grant_tables
# Do not listen for TCP/IP connections at all
skip_networking
# The number of open tables for all threads. (default:64)
table_open_cache=200
# How many threads the server should cache for reuse (default:0)
thread_cache_size=3
# wait 365d before dropping the DB connection (default:8h)
wait_timeout=31536000
# We use InnoDB, so don't let MyISAM eat up memory
key_buffer_size=16K
# KUBUNTU:
# Unset the export dir check as only the full mysql-server package creates it
secure_file_priv=
# KUBUNTU:
# workaround for 5.7 being more strict with column types
# (reverts to 5.6 behavior)
sql_mode=NO_ENGINE_SUBSTITUTION
[client]
default-character-set=utf8
谢谢。希望我可以让它再次工作~
答案1
答案是:我不知何故没有安装 mariadb,这解决了所有问题。