美文网首页
java定时任务备份mysql数据库,使用mysqldump

java定时任务备份mysql数据库,使用mysqldump

作者: zhihaoZzz | 来源:发表于2024-04-11 10:33 被阅读0次

    直接执行此命令,可以备份,但是java在定时任务中执行时,报错

    mysqldump -uroot -p'root'  dataName > /usr/local/data_back/dataName_2024-04-12_10-26-00.sql
    

    使用查找出命令所在地址

    whereis mysqldump 
    
    image.png

    将命令修改为:

    /usr/bin/mysqldump -uroot -p'root'  dataName > /usr/local/data_back/dataName_2024-04-12_10-26-00.sql
    

    Runtime.getRuntime().exec()执行还不行,尝试使用 ProcessBuilder 执行:

      //   /bin/bash指定shell linux环境    -c 指定后边为“命令”
      ProcessBuilder builder = new ProcessBuilder("/bin/bash", "-c", dumpCommand);
      Process process = builder.start();
    

    mysql5.7以后出现警告:

    Using a password on the command line interface can be insecure.
    

    解决办法:

    在/ete/my.cnf 中添加

    [mysqldump]
    user=root
    password=你的密码
    

    重启服务,修改mysqldump语句,去掉-uroot -p参数

    /usr/bin/mysqldump dataName > /usr/local/data_back/dataName_2024-04-12_10-26-00.sql
    

    相关文章

      网友评论

          本文标题:java定时任务备份mysql数据库,使用mysqldump

          本文链接:https://www.haomeiwen.com/subject/vhicxjtx.html