• java实现数据库自动异地备份


    数据备份方式千千万,这里介绍的是通过Java调用mysql命令行工具,实现数据库的备份,废话不多说,代码如下:

    1. command.append(" cmd /c c:\\mysqldump -u").append(username).append(" -p").append(password)//密码是用的小p,而端口是用的大P。
    2. .append(" -h").append(ip).append(" -P").append(port).append(" ").append(database).append(" -r \"").append(storePath+"\"");
    3. // Process process = Runtime.getRuntime().exec(command.toString(), null, new File(storePath));
    4. // process.waitFor();
    5. /**
    6. * 将文件拷贝到指定目录 指定执行命令
    7. * mysqldump.exe
    8. */
    9. log.debug("mysqldump -u"+username+" -p"+password+" -h"+ip+" -P"+port+" demo >d:/"+storeName);
    10. Process process = Runtime.getRuntime().exec("cmd /C mysqldump.exe目录 -u"+username+" -p"+password+" -h"+ip+" -P"+port+" demo >d:/"+storeName);
    11. InputStream is = process.getInputStream();
    12. process.waitFor();
    13. // Process process = Runtime.getRuntime().exec("cmd /c start /b C:\\可以使用.bat文件");
    14. // process.waitFor();

     常见的 备份方式如下有多中,根据实际情况进行操作,执行java代码时一定注意执行文件的路径正确,我这里是window系统环境。Linux没试,不过大差不差,原理都一样,如果是异地备份,把本地路径改成映射的硬盘地址即可

     

    一. mysqldump命令备份数据

    在MySQL中提供了命令行导出数据库数据以及文件的一种方便的工具mysqldump,我们可以通过命令行直接实现数据库内容的导出dump,首先我们简单了解一下mysqldump命令用法:

    #MySQLdump常用
    mysqldump -u root -p --databases 数据库1 数据库2 > xxx.sql

    二. mysqldump常用操作示例

    1.备份全部数据库的数据和结构

    mysqldump -uroot -p123456 -A > /data/mysqlDump/mydb.sql

    2.备份全部数据库的结构(加 -d 参数)

    mysqldump -uroot -p123456 -A -d > /data/mysqlDump/mydb.sql

    3.备份全部数据库的数据(加 -t 参数)

    mysqldump -uroot -p123456 -A -t > /data/mysqlDump/mydb.sql

    4.备份单个数据库的数据和结构(,数据库名mydb)

    mysqldump -uroot-p123456 mydb > /data/mysqlDump/mydb.sql

    5. 备份单个数据库的结构

    mysqldump -uroot -p123456 mydb -d > /data/mysqlDump/mydb.sql

    6. 备份单个数据库的数据

    mysqldump -uroot -p123456 mydb -t > /data/mysqlDump/mydb.sql

    7. 备份多个表的数据和结构(数据,结构的单独备份方法与上同)

    mysqldump -uroot -p123456 mydb t1 t2 > /data/mysqlDump/mydb.sql

    8. 一次备份多个数据库

    mysqldump -uroot -p123456 --databases db1 db2 > /data/mysqlDump/mydb.sql
  • 相关阅读:
    pojo之vo_dto_po的一些理解
    java高级---->Java动态代理的原理
    java计算机毕业设计宠物店管理系统设计与实现源码+mysql数据库+系统+lw文档+部署
    leetcode-二叉搜索树与双向链表-89
    VUE前端判断是电脑端还是移动端
    Windows消息种类
    关注云栖大会的感受:从工业大脑到全面AI时代的进化
    docker 的入门笔记
    面试系列MySql:索引优化
    HashMap 、LinkedHashMap 和TreeMap
  • 原文地址:https://blog.csdn.net/a913222/article/details/126922910