當前位置:首頁 » 編程語言 » java數據備份

java數據備份

發布時間: 2022-05-09 04:49:14

⑴ 在java中如何用hibernate做sql Server 2005資料庫備份和還原

這種方式感覺實現起來也不錯,我是使用這種方式來完成資料庫備份還原的功能的。
需要指出下面這些存儲過程是在網上搜索到的。謝謝代碼的提供者。在此轉載
利用T-SQL語句,實現資料庫的備份與還原的功能
體現了SQL
Server中的四個知識點:
1.
獲取SQL
Server伺服器上的默認目錄
2.
備份SQL語句的使用
3.
恢復SQL語句的使用,同時考慮了強制恢復時關閉其他用戶進程的處理
4.
作業創建SQL語句的使用

⑵ java中備份Mysql

1.首先設置環境變數:有兩種方式。第一種,在環境變數中添加MYSQL_HOME,設置內容為mysql的安裝路徑,然後,在path中添加路徑%MYSQL_HOME%in。第二種方法,不新建MYSQL_HOME,而是直接在path中添加mysql安裝路徑in。這樣,調用cmd的時候可以直接找到mysqlmp和mysql命令了。

2.現在編寫JAVA方法類來實現資料庫的備份和還原。代碼如下:

importjava.io.IOException;

publicclassdb_deal{
privatestaticStringstr=null;
publicstaticvoidbackup(){
//使用mysqlmp來備份資料庫,格式「mysqlmp-uusername-pPassword--optdatabase_name>direction/backup_name.sql」
str="mysqlmp-uroot-proot--opthjh>d:/test.sql";

try{
Runtimert=Runtime.getRuntime();
rt.exec("cmd/c"+str);
//Runtime.getRuntime().exec()這個方法可以實現對命令的調用。具體內容看API
//上面可以cmd調用控制台,然後執行str中的字元串表示的命令。
System.out.println("successly!");
}catch(IOExceptione){
e.printStackTrace();
System.out.println("somethingwrong!");}

}
publicstaticvoidload(){
str="mysql-uroot-prootj2603<d:/test.sql";
//mysql命令可以實現資料庫的還原。格式「mysql-uUsername-pPassworddatabase_name<back_up_dir」
Runtimert=Runtime.getRuntime();
try{
rt.exec("cmd/c"+str);
System.out.println("restoresuccessly!");
}catch(IOExceptione){
e.printStackTrace();
System.out.println("restorefail!");
}
}
}

3.最後要備份的地方給這個類實例化,然後調用backup(),load()來實現mysql資料庫的簡單備份跟還原。

⑶ 如何使用java程序備份和恢復MySql資料庫

java用開源的ssh jar包連接到b伺服器執行備份/恢復命令,同樣通過命令也可以獲取到備份的文件信息,恢復資料庫也是一樣的,通過命令把文件傳輸到b伺服器,通過命令進行還原

⑷ 怎麼備份手機上的JAVA

聯想i908 JAVA 游戲 安裝方法 1 先撥####5282# (如果沒裝過游戲,顯示空文件夾) 2 插USB 3 選儲存裝置選項(這時電腦顯示可移動磁碟出現) 4 打開可移動磁碟 5 選頁面上方的工具-文件夾選項-查看-把隱藏受保護的操作系統文件(推薦)前面的勾去掉-選則顯示所有文件和文件夾-應用 6 這樣在電腦上就可以看到midlets這個文件夾了,將JAVA游戲的JAD及JAR文件從電腦里拷到這個文件夾中(有人直接將其下載到這里結果不能正常使用 顯示為空文件夾 安裝後裡面的文件可以刪除 不影響使用 建議做好備份 以便將來之需) (注意一定要把同一個游戲的jad和jar兩個文件都放入手機,[左鍵雙擊你下載的文件,如果裡面是一大堆亂七八糟的就不要解壓那個就是jar],去下一個jad生成器{帖子下面有,將jar拖到那個手機屏幕里就可以自動生成jad},不要解壓jar文件) 7 安全刪除硬體(移動硬碟)拔掉USB手機端 8 再撥####5282#,會出現JAVA文件夾,點選項-安裝(顯示無效文件則說明不支持該程序)英文名或者數字名稱兼容性要好些。 9 安裝好的游戲在娛樂多媒體-JAVA選項(執行即可)移動定製的心機在百寶箱裡面 合並多個java可以看看〉〉超過512K的java如何安裝? 首先找一個大型游戲或軟體(超過512K的JAVA軟體)用JAD生成器給JAR軟體生成一JAD(可在第2步再轉,自己試試),1:再打開JAR壓縮包,去掉除文件夾以外的所有文件(文件夾里的文件不能去掉,或許可適當增減文件夾里的文件直到這個JAR 文件小於512K為止。再把這個JAR和JAD按普通方法安裝到手機里.2:安好後,關掉手機,再連到電腦上,打開手機內存,查看隱藏文件JAVA,再找到你剛安的那個JAR文件(就把JAR文件點開,看裡面是不是只有文件夾,如果是那恭喜你,你已經找到那個文件了,3:現在就把那個完整的。JAR文件的名字改成這個文件的名字(如12.jar)再把你找的那個手機內存里的JAR文件用這個改成和它一樣名字的完整文件替換掉,好了大功告成,現在打開手機,開始運行吧呵呵,給你個i908不錯的論壇,我的手機就是到那裡找東西,呵呵,裡面有滿都經驗的。 http://group.zol.com.cn/comment_90404.html參考資料: http://group.zol.com.cn/comment_90404.html

⑸ 如何用java代碼實現定時備份資料庫表記錄到

將MySql中的資料庫導出到文件中 備份
import java.io.*;
import java.lang.*;
public class BeiFen {
public static void main(String[] args) {
// 資料庫導出
String user = "root"; // 資料庫帳號
String password = "root"; // 登陸密碼
String database = "test"; // 需要備份的資料庫名
String filepath = "e:\\test.sql"; // 備份的路徑地址
String stmt1 = "mysqlmp " + database + " -u " + user + " -p"
+ password + " --result-file=" + filepath;
/*
* String mysql="mysqlmp test -u root -proot
* --result-file=d:\\test.sql";
*/
try {
Runtime.getRuntime().exec(stmt1);
System.out.println("數據已導出到文件" + filepath + "中");
}
catch (IOException e) {
e.printStackTrace();
}
}
}

將數據從磁碟上的文本文件還原到MySql中的資料庫
import java.io.*;
import java.lang.*;

/*
* 還原MySql資料庫
* */
public class Recover {

public static void main(String[] args) {

String filepath = "d:\\test.sql"; // 備份的路徑地址
//新建資料庫test
String stmt1 = "mysqladmin -u root -proot create test";
String stmt2 = "mysql -u root -proot test < " + filepath;
String[] cmd = { "cmd", "/c", stmt2 };

try {
Runtime.getRuntime().exec(stmt1);
Runtime.getRuntime().exec(cmd);
System.out.println("數據已從 " + filepath + " 導入到資料庫中");
} catch (IOException e) {
e.printStackTrace();
}
}
}

⑹ javaweb如何備份資料庫

類JavaMysql備份還原資料庫

importjava.io.File;
importjava.io.IOException;
importjava.io.InputStream;
importjava.util.Properties;

publicclassJavaMysql{
/*
*備份資料庫1、讀取配置文件2、啟動智能查詢Mysql安裝目錄3、備份資料庫為sql文件
*/
publicstaticvoidbackup(Stringsql){

Propertiespros=getPprVue("prop.properties");
Stringusername=pros.getProperty("username");
Stringpassword=pros.getProperty("password");

CheckSoftwarec=null;
try{
System.out.println("MySQL服務安裝地址:"+c.check().toString());
}catch(Exceptione2){
e2.printStackTrace();
}
Stringmysqlpaths;
try{
mysqlpaths=c.check().toString()+"bin"+"\";

StringdatabaseName=pros.getProperty("databaseName");
Stringaddress=pros.getProperty("address");
Stringsqlpath=pros.getProperty("sql");
Filebackupath=newFile(sqlpath);
if(!backupath.exists()){
backupath.mkdir();
}

StringBuffersb=newStringBuffer();

sb.append(mysqlpaths);
sb.append("mysqlmp");
sb.append("--opt");
sb.append("-h");
sb.append(address);
sb.append("");
sb.append("--user=");
sb.append(username);
sb.append("");
sb.append("--password=");
sb.append(password);
sb.append("");
sb.append("--lock-all-tables=true");
sb.append("--result-file=");
sb.append(sqlpath);
sb.append(sql);
sb.append("");
sb.append("--default-character-set=utf8");
sb.append(databaseName);
System.out.println("cmd指令:"+sb.toString());
Runtimecmd=Runtime.getRuntime();
try{
Processp=cmd.exec(sb.toString());
}catch(IOExceptione){
e.printStackTrace();
}
}catch(Exceptione1){
e1.printStackTrace();
}
}

/*
*讀取屬性文件
*/
(StringproperName){

InputStreaminputStream=JavaMysql.class.getClassLoader()
.getResourceAsStream(properName);
Propertiesp=newProperties();

try{
p.load(inputStream);
inputStream.close();
}catch(IOExceptione){
e.printStackTrace();
}

returnp;

}

/*
*根據備份文件恢復資料庫
*/
publicstaticvoidload(Stringfilename){
Propertiespros=getPprVue("prop.properties");
Stringroot=pros.getProperty("jdbc.username");
Stringpass=pros.getProperty("jdbc.password");
Stringmysqlpaths=c.check().toString()+"bin"+"\";
Stringsqlpath=pros.getProperty("sql");
Stringfilepath=mysqlpaths+sqlpath+filename;//備份的路徑地址

Stringstmt1=mysqlpaths+"mysqladmin-u"+root+"-p"+pass
+"createfinacing";//-p後面加的是你的密碼
Stringstmt2=mysqlpaths+"mysql-u"+root+"-p"+pass
+"finacing<"+filepath;
String[]cmd={"cmd","/c",stmt2};
try{
Runtime.getRuntime().exec(stmt1);
Runtime.getRuntime().exec(cmd);
System.out.println("數據已從"+filepath+"導入到資料庫中");
}catch(IOExceptione){
e.printStackTrace();
}

}

/*
*Test測試
*/
publicstaticvoidmain(String[]args)throwsIOException{
backup("2221.sql");
}
}

⑺ JAVA程序怎樣實現Oracle資料庫備份和還原

oracle的備份和還原可以用命令行來實現

備份 exp system/manager@TEST file=d:chu.dmp full=y

還原imp system/manager@TEST file=d:chu.dmp

將上面的備份、還原命令可以新建成bat文件。然後在java中可以運行bat文件

Runtime.getRuntime().exec("cmd.exe/CstartD:\test.bat");

這樣就實現了oracle的備份與還原。當然這里只是提供一個大概的思路,實際運用中可能需要備份某些數據,還原到其他資料庫等。

⑻ 怎樣使用java代碼實現資料庫表的自動備份

將MySql中的資料庫導出到文件中 備份
import java.io.*;
import java.lang.*;
public class BeiFen {
public static void main(String[] args) {
// 資料庫導出
String user = "root"; // 資料庫帳號
String password = "root"; // 登陸密碼
String database = "test"; // 需要備份的資料庫名
String filepath = "e:\\test.sql"; // 備份的路徑地址
String stmt1 = "mysqlmp " + database + " -u " + user + " -p"
+ password + " --result-file=" + filepath;
/*
* String mysql="mysqlmp test -u root -proot
* --result-file=d:\\test.sql";
*/
try {
Runtime.getRuntime().exec(stmt1);
System.out.println("數據已導出到文件" + filepath + "中");
}
catch (IOException e) {
e.printStackTrace();
}
}
}

將數據從磁碟上的文本文件還原到MySql中的資料庫
import java.io.*;
import java.lang.*;

/*
* 還原MySql資料庫
* */
public class Recover {

public static void main(String[] args) {

String filepath = "d:\\test.sql"; // 備份的路徑地址
//新建資料庫test
String stmt1 = "mysqladmin -u root -proot create test";
String stmt2 = "mysql -u root -proot test < " + filepath;
String[] cmd = { "cmd", "/c", stmt2 };

try {
Runtime.getRuntime().exec(stmt1);
Runtime.getRuntime().exec(cmd);
System.out.println("數據已從 " + filepath + " 導入到資料庫中");
} catch (IOException e) {
e.printStackTrace();
}
}
}

⑼ 怎麼用java備份mysql資料庫

首先,設置mysql的環境變數(在path中添加%MYSQL_HOME%\bin),重啟電腦。
完整代碼:
備份:

public static void main(String[] args) {

backup();
load();
}

public static void backup() {
try {
Runtime rt = Runtime.getRuntime();

// 調用 mysql 的 cmd:
Process child = rt
.exec("mysqlmp -u root --set-charset=utf8 bjse act_obj");// 設置導出編碼為utf8。這里必須是utf8

// 把進程執行中的控制台輸出信息寫入.sql文件,即生成了備份文件。註:如果不對控制台信息進行讀出,則會導致進程堵塞無法運行
InputStream in = child.getInputStream();// 控制台的輸出信息作為輸入流

InputStreamReader xx = new InputStreamReader(in, "utf8");// 設置輸出流編碼為utf8。這里必須是utf8,否則從流中讀入的是亂碼

String inStr;
StringBuffer sb = new StringBuffer("");
String outStr;
// 組合控制台輸出信息字元串
BufferedReader br = new BufferedReader(xx);
while ((inStr = br.readLine()) != null) {
sb.append(inStr + "\r\n");
}
outStr = sb.toString();

// 要用來做導入用的sql目標文件:
FileOutputStream fout = new FileOutputStream(
"e:/mysql-5.0.27-win32/bin/bjse22.sql");
OutputStreamWriter writer = new OutputStreamWriter(fout, "utf8");
writer.write(outStr);
// 註:這里如果用緩沖方式寫入文件的話,會導致中文亂碼,用flush()方法則可以避免
writer.flush();

// 別忘記關閉輸入輸出流
in.close();
xx.close();
br.close();
writer.close();
fout.close();

System.out.println("");

} catch (Exception e) {
e.printStackTrace();
}

}

public static void load() {
try {
String fPath = "e:/mysql-5.0.27-win32/bin/bjse22.sql";
Runtime rt = Runtime.getRuntime();

// 調用 mysql 的 cmd:
Process child = rt.exec("mysql -u root bjse ");
OutputStream out = child.getOutputStream();//控制台的輸入信息作為輸出流
String inStr;
StringBuffer sb = new StringBuffer("");
String outStr;
BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream(fPath), "utf8"));
while ((inStr = br.readLine()) != null) {
sb.append(inStr + "\r\n");
}
outStr = sb.toString();

OutputStreamWriter writer = new OutputStreamWriter(out, "utf8");
writer.write(outStr);
// 註:這里如果用緩沖方式寫入文件的話,會導致中文亂碼,用flush()方法則可以避免
writer.flush();
// 別忘記關閉輸入輸出流
out.close();
br.close();
writer.close();

System.out.println("");

} catch (Exception e) {
e.printStackTrace();
}

}

備份語句:
mysql> SELECT * INTO OUTFILE "D:\\data\\db_testtemp.txt" fields terminated by ',
' from db_testtemp where std_state='1';
Query OK, 1 row affected (0.00 sec)

mysql> SELECT * INTO OUTFILE "D:\\data\\db_testtemp.txt" fields terminated by ',
' from db_testtemp ;
Query OK, 2 rows affected (0.00 sec)

只生成一個只有數據的.txt:SELECT * INTO OUTFILE "D:\\data\\db_testtemp.txt" fields terminated by ',' lines terminated by '\r\n' from db_testtemp ;

只生成一個只有數據的.txt:mysqlmp -uroot -pncae2010 -w "std_state='1'" -T D:\data --no-create-info --fields-terminated-by=, exam db_testtemp

生成一個創建資料庫語句的.sql,一個只有數據的.txt:mysqlmp -uroot -pncae2010 -w "std_state='1'" -T D:\data --fields-terminated-by=, exam db_testtemp

只生成insert語句:mysqlmp -uroot -pncae2010 -w "std_state='1'" -t exam db_testtemp > D:\data\a.sql

⑽ java中 sql資料庫備份代碼怎麼寫

最簡單的SQL語句:備份與還原SQL Server自帶的資料庫

在伺服器上備份:
use Northwind
Backup database Northwind to disk='d:\Northwind_bak.dat' with init

RESTORE DATABASE NorthNwind FROM DISK = 'd:\Northwind_bak.dat'

備份資料庫這一操作在客戶機上實現
客戶機:machine
共享目錄:share (要完全共享,可寫許可權)

backup:
bakcup database dbname to disk='\\machine\share\data.bak' with init
\\machine\share目錄要有寫許可權。

restore:
restore database dbname from disk='\\machine\share\data.bak'

//
備註:restore 語句有很多的選項,可以查看企業管理器的在線幫助。如下
with replace, move 'dbname_dat' to 'c:\mssql7\data\dbname.mdf',
move 'dbname_log' to 'c:\mssql7\data\dbname.log'
其中'c:\mssql7\data\'是伺服器的目錄,這點要注意

備份與還原資料庫的相關內容:
SQL Server 7.0資料庫備份有四種:完全資料庫備份、增量資料庫備份、事務日誌備份、資料庫文件或文件組備份。在資料庫崩潰時,應該首先嘗試備份事務日誌(這一點很重要),然後恢復最後的資料庫備份、該次資料庫備份後的所有增量備份,最後恢復事務日誌備份,這樣可以將資料庫恢復到崩潰前的狀態。

備份是定期的,而不是實時的,所以利用備份並不能完全恢復資料庫,它只能將資料庫恢復到製作備份的那一刻 ...... 資料庫日誌是實時的,他忠實的記錄下所有對資料庫的更新操作。因此,當磁碟出現故障造成資料庫損壞時,就可以首先利用備份恢復資料庫(大部分數據),然後運行資料庫日誌,即將備份後所做的操作重新在做一遍,從而將資料庫完全恢復。

--備份完整的資料庫---------------------------------------------------------------
//創建一個備份設備:
1. Create the backup device for the full MyNwind backup.///
USE master
EXEC sp_admpdevice 'disk', 'MyNwind_2', 'c:\mssql7\backup\MyNwind_2.dat'

2. Back up the full MyNwind database.
BACKUP DATABASE MyNwind TO MyNwind_2

--備份資料庫的日誌---------------------------------------------------------------
--1. Create the log backup device.

USE master
EXEC sp_admpdevice 'disk', 'MyNwindLog1', 'c:\mssql7\backup\MyNwindLog1.dat'

--2. Update activity has occurred before this point. Back up the log of the MyNwind database.

BACKUP LOG MyNwind TO MyNwindLog1

try
AdoQuery1.Close;
AdoQuery1.SQL.Clear;
AdoQuery1.SQL.Add('backup database pubs');
AdoQuery1.SQL.Add('to disk='+''''+edtPath.Text+'''');
AdoQuery1.ExecSQL;
except
ShowMessage('備份資料庫失敗!');
exit;
end;

SQL server的備份
=========================================================================
=========================================================================
備份:

with adocommand_restore do//用ADocommand控制項
begin
CommandText:='use Master';//
Execute;
CommandText:='execute sp_helpdevice';//系統存儲過程
Execute ;
CommandText:='backup database '+'db_name'+' to disk='''+FileName+''' with init';//這行應當是這樣
Execute ;
CommandText:='Use '+'db_name';//這行應當是這樣
Execute ;
application.MessageBox('已經成功備份資料庫','資料庫備份',MB_OK + MB_ICONINFORMATION);
end;
恢復:
with adocommand1 do//用AdoCommand控制項
begin
CommandText:='use Master';
Execute;
CommandText:='execute sp_helpdevice';
Execute ;
CommandText:='Restore database '+'db_name'+' From disk='''+'c:\data1.bak'+''' with replace';//這行應當是這樣
Execute ;
CommandText:='Use '+'db_name';//這行應當是這樣
Execute ;
application.MessageBox('已經成功恢復資料庫','資料庫恢復',MB_OK + MB_ICONINFORMATION);
end;

*註:db_name指資料庫的名稱

熱點內容
notepad編寫php 發布:2025-05-11 07:10:50 瀏覽:861
茄子快傳的文件夾 發布:2025-05-11 07:04:30 瀏覽:732
手機指紋密碼如何更換 發布:2025-05-11 07:02:22 瀏覽:121
java存儲資料庫 發布:2025-05-11 07:01:33 瀏覽:175
辦理ca的初始密碼是多少 發布:2025-05-11 06:54:55 瀏覽:423
忘記伺服器地址 發布:2025-05-11 06:54:51 瀏覽:241
傳奇qf腳本 發布:2025-05-11 06:35:21 瀏覽:447
我的世界等價交換伺服器地址 發布:2025-05-11 06:34:49 瀏覽:432
ftp傳圖失敗 發布:2025-05-11 06:34:47 瀏覽:856
安卓如何設置抖音自動播放 發布:2025-05-11 06:32:21 瀏覽:671