启动 mariadb 但 systemctl status mariadb 失败

启动 mariadb 但 systemctl status mariadb 失败

我将 mariaDB 安装在路径“/app/mysql”下;

由于找不到配置文件,所以我在‘etc/mysql’路径下创建了‘my.cnf’文件,并将内容复制到网上,my.cnf代码:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

当我运行命令 systemctl start mariadb 时,似乎没有报告错误,但 systemctl status mariadb 说它失败了。代码:

[root@iZbp13edmlpcdqu2759ccaZ system]# systemctl status mariadb
● mariadb.service - MariaDB - database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Thu 2023-10-19 20:31:46 CST; 13s ago
  Process: 115928 ExecStart=/app/mysql/bin/mysql -c /app/mysql (code=exited, status=1/FAILURE)
 Main PID: 115928 (code=exited, status=1/FAILURE)

Oct 19 20:31:46 iZbp13edmlpcdqu2759ccaZ systemd[1]: Started MariaDB - database server.
Oct 19 20:31:46 iZbp13edmlpcdqu2759ccaZ systemd[1]: mariadb.service: Main process exited, code=exited, status=1/FAILURE
Oct 19 20:31:46 iZbp13edmlpcdqu2759ccaZ systemd[1]: mariadb.service: Failed with result 'exit-code'.

mariadb.服务代码:

[Unit]
Description=MariaDB - database server
After=syslog.target
After=network.target

[Service]
Type=simple
User=mysql
Group=mysql


# ExecStartPre=/app/mysql/bin/mysql -t -c  /app/mysql

ExecStart=/app/mysql/bin/mysql -c  /app/mysql
ExecStop=/app/mysql/bin/mysql -s stop


PrivateTmp=true

[Install]
WantedBy=multi-user.target

希望mariadb启动成功。我应该如何修改呢?谢谢你的帮助。

答案1

如果您使用cmake -DCMAKE_INSTALL_PREFIX=/app/mariadb ../mariadb-source(它不是 mysql,这就是我使用“/app/mariadb”)构建并编译,您将在/app/mariadb/support-files/systemd/mariadb.service.

就像评论所建议的那样,mysql是一个客户端连接工具(现在名为),并发明了诸如和 之mariadb类的选项,不会疯狂地使其表现得像服务管理器。-c /app/mysql-s stop

即使你想发明自己的版本,看看现有的版本,它为许多用户提供服务并且非常可靠,而且它的作者(我)并没有完全生气。

相关内容