mysql - 如何使 Mysql/Mariadb 脚本在 debian 启动时工作?

标签 mysql linux bash mariadb systemd

我试图在启动时运行一个脚本,它从数据库输出一个文件并将其保存在一个目录中。我的脚本在 shell 中运行良好,但当我尝试使用 systemd 在启动时运行脚本时失败。

以下是我的脚本:

#!/bin/bash
mysql -u user -p123 <<EOF
use database
SELECT data INTO OUTFILE '/tmp/file1.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '' LINES TERMINATED BY "\n" FROM datalog;
EOF

我的systemd服务是这样的:

[Unit]
Description=My service
After=mysql.service

[Service]
Type=simple
ExecStart=/etc/init.d/myscript.sh start
StandardOutput=null

[Install]
WantedBy=multi-user.target
Alias=myscript.service

我的服务状态显示为不活动(已死)。我什至尝试将我的服务类型更改为 forking 和 oneshot,但没有任何效果。

如有任何建议,我们将不胜感激!

编辑:运行 sudo journalctl -u myservice 后我得到了这个:

May 08 15:02:02 beaglebone systemd[1]: Started My service.                    
May 08 15:02:02 beaglebone sudo[3003]:     root : TTY=unknown ; PWD=/ ; USER=roo          
May 08 15:02:02 beaglebone sudo[3003]: pam_unix(sudo:session): session opened fo          
May 08 15:02:02 beaglebone sudo[3003]: pam_unix(sudo:session): session closed fo

最佳答案

Exec 不是指令,您可能是指 ExecStart

关于mysql - 如何使 Mysql/Mariadb 脚本在 debian 启动时工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56030885/

相关文章:

php - 有什么技巧可以在 Wordpress 中使用 Yii 吗?

linux - 试图编译 git 但在 linux 中找不到 libcurl

bash - 映射 id 的有效方法

python argparse shell 特殊字符

bash - Solaris shell脚本如何在命令中使用变量

MySQL "greater than"条件有时返回具有相等值的行

mysql - 更改特定存储过程的 DEFINER 吗?

mysql - 使用多个匹配字符串在 mysql 中进行更新的最有效方法

PHP 通过进程 ID 回显内存

c - 从 sysfs 恢复或删除 Linux 内核模块