cd /root wegt https://***.***/greatsql.tar.gztar -xvf greatsql.tar.gzmv /root/greatsql /usr/local/1.2.3.4.
安装过程一切顺利,数据库正常启动了,但是在配置 systemd 进程守护的时候出现了问题。
greatsql.service文件:
vim /usr/lib/systemd/system/greatsql.service[Unit]Description=GreatSQL Server After=network.targetAfter=syslog.target[Install]WantedBy=multi-user.target[Service]User=greatsqlGroup=User=greatsql
# Have mysqld write its state to the systemd notify socket Type=notify # Disable service start and stop timeout logic of systemd for mysqld service. TimeoutSec=0# Start main service ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf $MYSQLD_OPTS # Use this to switch malloc implementation #EnvironmentFile=-/etc/sysconfig/mysql # Sets open_files_limit LimitNOFILE = 10000Restart=on-failure
RestartPreventExitStatus=1# Set environment variable MYSQLD_PARENT_PID. This is required for restart. Environment=MYSQLD_PARENT_PID=1PrivateTmp=false1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.
用 systemctl start greatsql 启动数据库的时候报以下错误。
[root@Linux ~]# systemctl restart greatsql Job for greatsql.service failed because the control process exited with error code. See "systemctl status greatsql.service" and "journalctl -xe" for details.1.2.3.
直接运行mysqld没问题但是使用systemctl 就启动不了。
根据上面的报错,查看一下 greatsql systemd的状态和相关日志
[root@gip Linux]# systemctl status greatsql.service● greatsql.service Loaded: loaded (/usr/lib/systemd/system/greatsql.service; bad; vendor preset: disabled) Active: failed (Result: exit-code) since Tue 2023-01-10 16:00:06 CST; 17s ago Process: 147226 ExecStart=/usr/local/greatsql/bin/mysqld --defaults-file=/etc/my.cnf $MYSQLD_OPTS (code=exited, status=203/EXEC) Main PID: 147226 (code=exited, status=203/EXEC)Jan 10 16:00:06 gip systemd[1]: greatsql.service: Service RestartSec=100ms expired, scheduling restart. Jan 10 16:00:06 gip systemd[1]: greatsql.service: Scheduled restart job, restart counter is at 5. Jan 10 16:00:06 gip systemd[1]: Stopped greatsql.service. Jan 10 16:00:06 gip systemd[1]: greatsql.service: Start request repeated too quickly. Jan 10 16:00:06 gip systemd[1]: greatsql.service: Failed with result 'exit-code'. Jan 10 16:00:06 gip systemd[1]: Failed to start greatsql.service. Jan 10 16:00:23 gip systemd[1]: /usr/lib/systemd/system/greatsql.service:1: Missing '='.1.2.3.4.5.6.7.8.9.10.11.12.13.14.
通过查看上述信息,可以得知 程序启动的时候抛出了报错。
Main PID: 147226 (code=exited, status=203/EXEC)1.
通过上网搜索可以得知,status=203/EXEC 报错可能和权限不足有关,记一下这里的PID。
我们继续查看一下相关日志证实一下。
[root@Linux ~]# journalctl _PID=13386-- Logs begin at Tue 2023-01-10 16:54:11 CST, end at Tue 2023-01-10 17:09:15 CST. --Jan 10 17:00:36 gip systemd[13386]: greatsqld.service: Failed to execute command: Permission denied Jan 10 17:00:36 gip systemd[13386]: greatsqld.service: Failed at step EXEC spawning /usr/local/greatsql/bin/mysqld: Permission denied1.2.3.4.5.