Java備份MySQL
1 概述
使用java備份mysql資料庫,主要是使用mysqldump與Runtime().getRuntime().exec().
2 建立備份路徑
如果沒有備份的儲存路徑首先建立路徑.
Path path = Paths.get(xxxx);
try
{
Files.createDirectories(path);
}
catch(IOException e)
{
//xxxx
}
3 執行命令
如果是直接用shell執行的話:
mysqldump -u user_name -p database_name > xxxxdatabase_name.sql
使用-u與-p分別指定使用者與密碼,最後重定向到檔案.
但是,要注意再java中用exec()時,千萬千萬不能使用-p選項,-p是互動式輸入密碼的,使用了-p的話匯出的檔案是0KB的,需要使用
--password
代替.
String command = "mysqldump -u user --password=xxxx > xxxx\xxxx.sql"
要注意一下路徑問題,另外,在windows下,需要使用cmd:
String command = "cmd /c mysqldump -u user --password=xxxx > xxxx\xxxx.sql"
這需要把
%MYSQL_HOME%/bin
加入到環境變數,如果沒有加入的話輸入絕對路徑:
String command = "cmd /c C:\Program Files\mysql\bin\mysqldump -u user --password=xxxx > xxxx\xxxx.sql"
4 執行
try
{
Runtime.getRuntime().exec(command);
}
catch(IOException e)
{
//xxxx
}
5 其他問題
如果沒有匯出檔案或者匯出的檔案為0KB,可能原因是:
- 語法錯誤:命令的空格使用不當,路徑設定錯誤,使用了錯誤的引數等.
- 環境問題:如在windows下沒有新增到環境變數,沒有加上"cmd /c".
- 使用者名稱/密碼錯誤:這個…
- 許可權問題:使用者沒有相應許可權,要登陸到mysql中授權.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1916/viewspace-2824755/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql的冷備份與熱備份MySql
- MySQL:xtrabackup備份MySql
- Mysql備份系列MySql
- 初探MySQL資料備份及備份原理MySql
- Mysql備份與恢復(1)---物理備份MySql
- MySQL備份與主備配置MySql
- java mysql 資料庫備份和還原操作JavaMySql資料庫
- 【MySQL】MySQL備份和恢復MySql
- mysql每日備份for LinuxMySqlLinux
- Mysql備份恢復MySql
- mysql備份指令碼MySql指令碼
- MySQL 定時備份MySql
- mysql5.5.20備份MySql
- MySQL資料備份MySql
- Mysql備份與恢復(2)---邏輯備份MySql
- MySQL 8:備份&匯入【備忘】MySql
- MySQL的冷備份和熱備份概念理解(轉)MySql
- Linux自動備份MySQLLinuxMySql
- mysql 資料庫 備份MySql資料庫
- Centos Mysql 主從備份CentOSMySql
- MySQL 定時增量備份MySql
- Mysql資料安全備份MySql
- MySQL 備份與恢復MySql
- MySQL冷備份過程MySql
- MYSQL定時備份(一)MySql
- "三高"Mysql - Mysql備份概覽MySql
- MySQL備份與恢復——基於Xtrabackup物理備份恢復MySql
- Mysql備份失敗案例(一)MySql
- 使用Xtrabackup遠端備份MysqlMySql
- innobackupex 備份MySQL資料庫MySql資料庫
- 兩套mysql備份指令碼MySql指令碼
- MySQL備份遷移之mydumperMySql
- MySQL中如何選擇合適的備份策略和備份工具MySql
- MySQL 5.7 mysqlpump 備份工具說明MySql
- mysql5.6 mysqldump備份報錯MySql
- mysql資料庫備份命令大全MySql資料庫
- MySQL中binlog備份指令碼分享MySql指令碼
- 《入門MySQL—備份與恢復》MySql