java实现数据库自动异地备份
生活随笔
收集整理的這篇文章主要介紹了
java实现数据库自动异地备份
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
數據備份方式千千萬,這里介紹的是通過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.sql2.備份全部數據庫的結構(加 -d 參數)
mysqldump -uroot -p123456 -A -d > /data/mysqlDump/mydb.sql3.備份全部數據庫的數據(加 -t 參數)
mysqldump -uroot -p123456 -A -t > /data/mysqlDump/mydb.sql4.備份單個數據庫的數據和結構(,數據庫名mydb)
mysqldump -uroot-p123456 mydb > /data/mysqlDump/mydb.sql5. 備份單個數據庫的結構
mysqldump -uroot -p123456 mydb -d > /data/mysqlDump/mydb.sql6. 備份單個數據庫的數據
mysqldump -uroot -p123456 mydb -t > /data/mysqlDump/mydb.sql7. 備份多個表的數據和結構(數據,結構的單獨備份方法與上同)
mysqldump -uroot -p123456 mydb t1 t2 > /data/mysqlDump/mydb.sql8. 一次備份多個數據庫
mysqldump -uroot -p123456 --databases db1 db2 > /data/mysqlDump/mydb.sql總結
以上是生活随笔為你收集整理的java实现数据库自动异地备份的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C中关于存储类的理解
- 下一篇: linux cmake编译源码,linu