* 该数据库备份是利用 mysql自带的逻辑备份工具(mysqldump) * 它的备份原理是,通过协议连接到mysq数据库,将需要备份的数据查询出来,将查询出的数据转换成对应的insert语句,当我们需要还原这些 数据时,只要执行这些insert语句,即可将对应的数据还原 * 优点:可以直接使用文本处理工具处理对应的备份数据 * 缺点:当数据为浮点类型时,会出现精度丢失;恢复速度与物理备份工具相比较慢
首先看下备份的实现,他利用命令行的方式,生成.sql脚本 存放在指定的目录;代码如下:
该常量 对应的 字段是 数据库地址 用户名 密码 端口 数据库名
/**
* {@code 功能描述:数据备份}
* @return
* @author hzj
* @since 2019年3月9日14:45:50
*/
public static final String SQL_DOC = "mysqldump --host=127.0.0.1 --default-character-set=utf8 --lock-tables --routines --force --port=13306 --user=root --password=root --quick demo";
public MessageBean backupDB(){
MessageBean result = new MessageBean();
String sqlPath = Constant.PATH;
try{
File fileSql = new File(sqlPath)