今天用jenkins远程部署测试环境,老是发现之前的测试数据没有删除掉。

手动部署一遍发现又是正常的。

然后开始看远程部署的日志,在执行shell脚本的时候有一个mysql  command not found的提示

于是我用xshell远程上去mysql -uroot -p  ,发现能成功登录没毛病呀。

然后直接在机器上部署,看一下shell脚本输出的日志,没有mysql command not found的提示呀。

所以我就怀疑远程的执行的时候不行。


于是google上搜索了一下,发现也有这个问题。

其实这个问题的原因是我mysql安装在我设置的data分区里,没有在默认的/usr/bin/mysql里,ssh远程执行命令的时候它是去/usr/bin里读取的,所以自然找不到。


明白了是这个原因造成的后,我立马想到,直接设置一个软连接不就OK了吗。

于是先用which mysql 看mysql的安装路径

[root@mssp ~]# which mysql
/usr/local/mysql/bin/mysql

ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql

所以我在远程命令的时候加上ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql一行命令

在执行脚本。

部署成功。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐