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備份系列MySql
- MySQL:xtrabackup備份MySql
- XtraBackup備份MySQLMySql
- Mysql增量備份MySql
- mysql備份工具MySql
- mysql備份--mysqlhotcopyMySql
- Mysql備份與恢復(1)---物理備份MySql
- 初探MySQL資料備份及備份原理MySql
- MySQL · 物理備份 · Percona XtraBackup 備份原理MySql
- MySQL備份與主備配置MySql
- java mysql 資料庫備份和還原操作JavaMySql資料庫
- java中實現MYSQL的備份和恢復JavaMySql
- MySQL 定時備份MySql
- Mysql備份恢復MySql
- mysql5.6備份MySql
- mysql innobackupex 物理備份MySql
- xtrabackup備份mysql innodbMySql
- MySQL備份類別MySql
- MySQL主從備份MySql
- mysql備份還原MySql
- 【Mysql】xtrabacupk備份原理MySql
- mysql 備份恢復MySql
- mysql備份指令碼MySql指令碼
- MySQL資料備份MySql
- 【MySQL】MySQL備份和恢復MySql
- Mysql備份與恢復(2)---邏輯備份MySql
- MySQL備份之分庫分表備份指令碼MySql指令碼
- MySQL 8:備份&匯入【備忘】MySql
- Mysql備份系列(1)--備份方案總結性梳理MySql
- MySQL的冷備份和熱備份概念理解(轉)MySql
- 【MySql】 MySql備份工具Xtrabackup之二MySql
- 【MySql】 MySql備份工具Xtrabackup之一MySql
- MySQL 定時增量備份MySql
- mysql每日備份for LinuxMySqlLinux
- mysql5.5.20備份MySql
- MySQL冷備份過程MySql
- mysql 資料庫 備份MySql資料庫