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