在我的系统上,似乎有两次尝试启动MariaDB。第一次尝试成功了,所以我的系统没有真正的问题,但是第二次尝试创建了虚假的错误消息,因为所有相关文件都已被第一个实例锁定。
据我所知,它是从mariadb@multi-user.service
和mariadb.service
分别启动一次和一次。systemctl list-units | grep -i maria
的结果是:
● mariadb.service
loaded failed failed MariaDB 10.2 database server
mariadb@multi-user.service
loaded active running MariaDB 10.2 database server
system-mariadb.slice
loaded active active system-mariadb.slice
我猜想,如果我告诉systemd禁用mariadb.service
,一切都会好起来的,但我不想猜测。
我的系统是Fedora 28。已安装的MairaDB包如下:
mariadb-config-10.2.16-1.fc28.x86_64
mariadb-rocksdb-engine-10.2.16-1.fc28.x86_64
mariadb-backup-10.2.16-1.fc28.x86_64
mariadb-10.2.16-1.fc28.x86_64
mariadb-cracklib-password-check-10.2.16-1.fc28.x86_64
mariadb-connector-c-3.0.5-1.fc28.x86_64
mariadb-server-10.2.16-1.fc28.x86_64
mariadb-common-10.2.16-1.fc28.x86_64
mariadb-server-utils-10.2.16-1.fc28.x86_64
mariadb-tokudb-engine-10.2.16-1.fc28.x86_64
mariadb-gssapi-server-10.2.16-1.fc28.x86_64
mariadb-errmsg-10.2.16-1.fc28.x86_64
发布于 2018-08-04 22:44:48
可实例化的单元文件/usr/lib/systemd/system/mariadb@.service
解释了正在发生的事情:
多实例版本的mariadb。因为如果你一次运行多个版本。#还用于mariadb@bootstrap来引导Galera。#要使用多实例变量,请使用mysqld.INSTANCENAME作为my.cnf #中的部分,并通过以下方式启动服务:# systemctl start mariadb@{instancename}.server
因此,过去有人正是这样做的,创建了一个名为MariaDB的实例multi-user
。这个名字告诉我,这可能是一个错误,而不是故意的。
如何解决这个问题取决于您是否希望保持实例化服务。禁用一个或另一个服务,适当地编辑my.cnf,并重新启动另一个服务。大多数人不需要一次实例化运行多个副本的MariaDB,而且您可能是大多数人。
https://serverfault.com/questions/924954
复制相似问题