最近有个项目上线,需要在线备份mysql的数据。就使用了ssh + mysqldump备份。
遇见的问题就是,exec mysqldump -h xxxx -uroot -p --all-databases > test.sql 发现文件大小是0.
说明:我这里的mysql是自己编译的
解决步骤:
1. 命令行输入mysqldump看是否能找到此命令
2. 如果无法找到此命令,则需要配置环境变量(这里试了2种)
第一种: vim /etc/profile
输入: export PATH=$PATH:/usr/local/mysql/bin
这种方法手动执行mysqldump可以正常导出,但是用Java代码执行则不行。
第二种: vim ~/.bashrc
输入: export PATH=$PATH:/usr/local/mysql/bin
这种方法完美解决此问题