Edu*_*ard 3 mysql kubuntu akonadi
我将 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:参数:(“--defaults-file=/home/me/.local/share/akonadi/ mysql.conf", "--datadir=/home/me/.local/share/akonadi/db_data/", "--socket=/run/user/1001/akonadi/default/mysql.socket", "-- pid-file=/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 文件。
~$ cat ~/.local/share/akonadi/db_data/mysql.err
2019-10-19T11:27:02.910707Z 0 [警告] [MY-010097] [服务器] --secure-file-priv 的不安全配置:当前值不限制生成文件的位置。考虑将其设置为有效的非空路径。
2019-10-19T11:27:02.910736Z 0 [系统] [MY-010116] [服务器] /usr/sbin/mysqld (mysqld 8.0.17-0ubuntu2) 作为进程 8385 开始
2019-10-19T11:27:02.912513Z 0 [警告] [MY-013242] [服务器] --character-set-server: 'utf8' 目前是字符集 UTF8MB3 的别名,但将是 UTF8MB4 的别名在未来的版本中。请考虑使用 UTF8MB4 以便明确。
2019-10-19T11:27:02.912523Z 0 [警告] [MY-013244] [服务器] --collation-server: 'utf8_general_ci' 是已弃用的字符集 UTF8MB3 的整理。请考虑使用带有适当排序规则的 UTF8MB4。2019-10-19T11:27:02.917836Z 1 [系统] [MY-011012] [服务器] 开始升级数据目录。
2019-10-19T11:27:03.171213Z 1 [错误] [MY-010781] [服务器] 在 mysql 模式中找到 ./mysql/index_stats.frm 文件。DD 将创建同名的 .ibd 文件。请重命名表并重新开始升级过程。
2019-10-19T11:27:03.171223Z 1 [错误] [MY-010336] [服务器] 找到与字典表之一同名的 .frm 文件。
2019-10-19T11:27:03.171330Z 0 [ERROR] [MY-010020] [Server] 数据字典初始化失败。
2019-10-19T11:27:03.171338Z 0 [ERROR] [MY-013236] [Server] 指定的数据目录 /home/me/.local/share/akonadi/db_data/ 不可用。您可以删除服务器添加到其中的所有文件。
2019-10-19T11:27:03.697829Z 0 [ERROR] [MY-010065] [Server] 无法关闭组件基础架构。
2019-10-19T11:27:03.171475Z 0 [错误] [MY-010119] [服务器] 中止
2019-10-19T11:27:03.697752Z 0 [系统] [MY-010910] [服务器] /usr/sbin/mysqld:关闭完成 (mysqld 8.0.17-0ubuntu2) (Ubuntu)。
为什么从 Ubuntu 19.04 升级到 19.10 后 Akonadi 没有启动?这和升级到mysql 8.0有关系吗?如何解决这个问题?
遇到同样的问题,升级后由于MySQL无法运行akonadi。对我来说,由于我的工作,安装 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).
Run Code Online (Sandbox Code Playgroud)
这些是我收到的错误和警告。
首先将摆脱嘈杂的警告
vim /home/mathieu/.local/share/akonadi/mysql.conf
替换character_set_server=utf8成 utf8mb4collation_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
Run Code Online (Sandbox Code Playgroud)
该--initialize选项会重新启动db_data目录。如果比较两个目录,您会看到一堆与前一个不同的文件。
现在收到此错误
[ERROR] [MY-011087] [Server] Different lower_case_table_names settings for server ('1') and data dictionary ('0').
Run Code Online (Sandbox Code Playgroud)
我将lower_case_table_names=mysql.conf 中的这个选项从 1切换到 0
您还需要注释掉这个已弃用的选项
log_warnings=2
我不再使用长参数集直接调用 mysqld-akonadi,而是简单地运行akonadiserver并调用 mysql.errorcat日志文件
现在收到这个错误 [Server] unknown variable 'query_cache_size=0'
将评论这个
还需要注释掉 query_cache_type=0
并且 akonadi 能够与 MySQL 8 一起运行
总之:
希望这可以帮助
更新:如果您收到此错误
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"
Run Code Online (Sandbox Code Playgroud)
这意味着已添加该列,但未将数据库迁移标记为已完成。我建议db_data再次关闭文件夹,手动运行初始化。并启动 akonadiserver
它终于为我运行。并且在 19.04 中不断崩溃的 korganizer 现在可以运行;)
更新(2020 年):重置 Akonadi 数据库时要非常小心这个错误 https://bugs.kde.org/show_bug.cgi?id=414400
从 19.10 开始,我遇到了太多问题。MariaDB 或 MySQL 8 都没有正常工作。一直不得不重置 Akonadi。最后通过 Docker 运行 MySQL 5.6 和 5.7
sudo docker run --name mysql57 --rm -p 3306:3306 -v /var/lib/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=docker -d mysql:5.7
但一直有问题。我放弃了 Akonadi/kdepim,卸载了所有相关的软件包并切换到 Thunderbird。等离子运行平稳。
| 归档时间: |
|
| 查看次数: |
3108 次 |
| 最近记录: |