/root/sql.sh: line 3: mysql: command not found

当使用定时任务执行sql脚本的时候会报错【命令没有找到】,但是手动执行脚本的时候又没有任何问题

[root@mysql3-accfinance ~]# crontab -l
00 3 * * * /bin/sh /root/sql.sh &>> nohup.out
[root@mysql3-accfinance ~]# cat nohup.out 
/root/sql.sh: line 3: mysql: command not found
[root@mysql3-accfinance ~]# /bin/sh sql.sh 
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@mysql3-accfinance ~]# cat nohup.out 
/root/sql.sh: line 3: mysql: command not found
mysql: [Warning] Using a password on the command line interface can be insecure.

解决方案:
因为系统默认会查找/usr/bin下的命令,由于mysql没有在这个目录下,所以出现not found。
1.脚本里面使用绝对路径
例如:/usr/local/mysql/bin/mysql
2.做一个软连接到/usr/bin目录下
例如:ln -s /usr/local/mysql/bin/mysql /usr/bin

你可能感兴趣的:(mysql文档)