数据备份方式千千万,这里介绍的是通过Java调用mysql命令行工具,实现数据库的备份,废话不多说,代码如下:
command.append(" cmd /c c:\\mysqldump -u").append(username).append(" -p").append(password)//密码是用的小p,而端口是用的大P。 .append(" -h").append(ip).append(" -P").append(port).append(" ").append(database).append(" -r \"").append(storePath+"\"");//Process process = Runtime.getRuntime().exec(command.toString(), null, new File(storePath));//process.waitFor();/*** 将文件拷贝到指定目录 指定执行命令* mysqldump.exe*/log.debug("mysqldump -u"+username+" -p"+password+" -h"+ip+" -P"+port+" demo >d:/"+storeName);Process process = Runtime.getRuntime().exec("cmd /C mysqldump.exe目录 -u"+username+" -p"+password+" -h"+ip+" -P"+port+" demo >d:/"+storeName);InputStream is = process.getInputStream();process.waitFor();//Process process = Runtime.getRuntime().exec("cmd /c start /b C:\\可以使用.bat文件");//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
如果觉得《java实现数据库自动异地备份》对你有帮助,请点赞、收藏,并留下你的观点哦!