婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > MySQL基于java實(shí)現(xiàn)備份表操作

MySQL基于java實(shí)現(xiàn)備份表操作

熱門標(biāo)簽:申請外呼電話線路 廣東人工電話機(jī)器人 石家莊電商外呼系統(tǒng) 芒果電話機(jī)器人自動化 百度地圖圖標(biāo)標(biāo)注中心 湖南人工外呼系統(tǒng)多少錢 南通自動外呼系統(tǒng)軟件 日照旅游地圖標(biāo)注 信陽穩(wěn)定外呼系統(tǒng)運(yùn)營商

核心是mysqldump和Runtime
操作其實(shí)并不是很困難,創(chuàng)建一個進(jìn)行備份操作的類,接收到備份調(diào)用后,標(biāo)記該表正在備份,然后創(chuàng)建一個子線程進(jìn)行備份操作。所需的配置信息是從配置文件讀取的,也要注意在Windows和linux下路徑問題。


配置文件如下:

Java代碼 收藏代碼
# 數(shù)據(jù)庫地址
dbAddress=localhost
# 要備份的數(shù)據(jù)庫名稱
databaseName=nms
# 數(shù)據(jù)庫用戶名
username = root
# 數(shù)據(jù)庫密碼
password = root
# mysqldump 路徑 Linux
mysqlpath = /usr/bin/
# 備份文件存放位置 Linux
sqlFilePath =/MySQlBack/
# mysqldump 路徑 Windows
#mysqlpath = C\://Program Files//MySQL//MySQL Server 5.5//bin//
# 備份文件存放位置 Windows
#sqlFilePath =C\://MySQl//

執(zhí)行功能的代碼類如下:

Java代碼 收藏代碼
package com.nms.common.db;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.Map;
import java.util.Properties;
import java.util.concurrent.ConcurrentHashMap;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/**
* 用于數(shù)據(jù)庫備份操作
*/
public class DbBackUpMethod {
private static Log logger = LogFactory.getLog(DbBackUpMethod.class);
private static Properties pros = getPprVue("db.properties");
public static MapString, String> backUpTableList = new ConcurrentHashMapString, String>();
private static DbBackUpMethod backObj = new DbBackUpMethod();
public static DbBackUpMethod getDbBackUpMethod(){
return backObj;
}
public void backup(String tableName) {
if(null != backUpTableList.get(tableName)) return ;
backUpTableList.put(tableName, tableName); // 標(biāo)記已經(jīng)用于備份
new Thread(new DbBackUpThread(tableName)).start();
}
/**
* 用于執(zhí)行某表的備份
*/
class DbBackUpThread implements Runnable {
String tableName = null;
public DbBackUpThread(String tableName){
this.tableName = tableName;
}
@Override
public void run() {
try {
String username = pros.getProperty("username");
String password = pros.getProperty("password");
String mysqlpaths = pros.getProperty("mysqlpath");
String address = pros.getProperty("dbAddress");
String databaseName = pros.getProperty("databaseName");
String sqlpath = pros.getProperty("sqlFilePath");
File backupath = new File(sqlpath);
if (!backupath.exists()) {
backupath.mkdir();
}
StringBuffer sb = new StringBuffer();
sb.append(mysqlpaths);
sb.append("mysqldump ");
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(tableName+".sql");
sb.append(" ");
sb.append("--default-character-set=utf8 ");
sb.append(databaseName);
sb.append(" ");
sb.append(tableName);
Runtime cmd = Runtime.getRuntime();
Process p = cmd.exec(sb.toString());
p.waitFor(); // 該語句用于標(biāo)記,如果備份沒有完成,則該線程持續(xù)等待
} catch (Exception e) {
logger.error("備份操作出現(xiàn)問題", e);
}finally{
backUpTableList.remove(tableName); // 最終都將解除
}
}
}
public static Properties getPprVue(String properName) {
InputStream inputStream = DbBackUpMethod.class.getClassLoader().getResourceAsStream(properName);
Properties p = new Properties();
try {
p.load(inputStream);
inputStream.close();
} catch (IOException e) {
logger.error("無法讀取用于備份數(shù)據(jù)的配置文件", e);
}
return p;
}
}

在Action中,可以直接調(diào)用備份操作方法:

Java代碼 收藏代碼
DbBackUpMethod.getDbBackUpMethod().backup(tableName); // 調(diào)用備份

同時,如果頁面有刪除該表的操作,在操作前應(yīng)該判斷該表是否在進(jìn)行備份

Java代碼 收藏代碼
if(null != DbBackUpMethod.backUpTableList.get(tableName))

然后頁面JSP調(diào)用時,可以給予響應(yīng)的提示,我的判斷是只能刪除一張表:

function deleteTableByTableName(){
	var pk = table.getSelectedKeys();
	if(""==pk){
		alert("請選擇一條記錄!");
		return false;
	}
	if(pk.length > 1){
		alert("請選擇一條記錄!");
		return false;
	}
	var rows = table.get(pk);
	var tableName=rows.tableName;
	if(confirm("你確認(rèn)要刪除該表嗎?")) {
		if(confirm("刪除該表前,你需要備份操作嗎?\n\n選擇備份后,系統(tǒng)將后臺進(jìn)行相關(guān)操作!\n在此期間,您不能刪除該表!\n備份操作可能將持續(xù)數(shù)小時時間!請知曉!")) {
			document.form1.action="backUpTable.action?tableName=" + tableName;
			document.form1.submit();
		}else{
			if(confirm("你確認(rèn)提交嗎?該表將刪除!")) {
				document.form1.action="del.action?tableName=" + tableName;
				document.form1.submit();
			}
		}
	}
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • MySQL存儲表情時報錯:java.sql.SQLException: Incorrect string value:‘\xF0\x9F\x92\xA9\x0D\x0A...’的解決方法
  • 利用java+mysql遞歸實(shí)現(xiàn)拼接樹形JSON列表的方法示例
  • 讓Java后臺MySQL數(shù)據(jù)庫能夠支持emoji表情的方法
  • Java數(shù)據(jù)類型與MySql數(shù)據(jù)類型對照表
  • Java實(shí)現(xiàn)獲得MySQL數(shù)據(jù)庫中所有表的記錄總數(shù)可行方法
  • 通過java備份恢復(fù)mysql數(shù)據(jù)庫的實(shí)現(xiàn)代碼
  • Java連接mysql數(shù)據(jù)庫的詳細(xì)教程(推薦)
  • mysql-connector-java.jar包的下載過程詳解
  • 關(guān)于Java中的mysql時區(qū)問題詳解

標(biāo)簽:阿里 公主嶺 牡丹江 天津 惠州 合肥 沈陽 呼和浩特

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySQL基于java實(shí)現(xiàn)備份表操作》,本文關(guān)鍵詞  MySQL,基于,java,實(shí)現(xiàn),備份,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MySQL基于java實(shí)現(xiàn)備份表操作》相關(guān)的同類信息!
  • 本頁收集關(guān)于MySQL基于java實(shí)現(xiàn)備份表操作的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    337p亚洲精品色噜噜狠狠| 91黄色激情网站| 亚洲精品午夜久久久| 欧美成人猛片aaaaaaa| a美女胸又www黄视频久久| 喷白浆一区二区| 亚洲视频小说图片| 久久久影院官网| 欧美一级理论片| 欧美三级电影网站| 色综合久久久久综合体| 极品少妇xxxx精品少妇偷拍| 日韩精品每日更新| 亚洲一区二区五区| 最新国产の精品合集bt伙计| 精品久久一区二区三区| 欧美精品在线视频| 欧洲亚洲精品在线| 91麻豆国产自产在线观看| 丁香一区二区三区| 国产在线视频不卡二| 亚洲成人av在线电影| 亚洲精品成人a在线观看| 亚洲欧美一区二区视频| 国产精品网站在线播放| 久久久久国产精品人| 精品乱人伦小说| 欧美刺激午夜性久久久久久久| 欧洲一区在线电影| 在线观看一区不卡| 色婷婷亚洲综合| 在线免费精品视频| 欧洲一区二区av| 欧美日韩国产不卡| 欧美精品乱人伦久久久久久| 欧美日韩不卡在线| 7777精品久久久大香线蕉| 欧美在线制服丝袜| 欧美在线视频日韩| 88在线观看91蜜桃国自产| 91麻豆精品国产自产在线观看一区 | 久久影院午夜片一区| 欧美tickle裸体挠脚心vk| 日韩精品一区国产麻豆| 欧美精品一区二区三| 国产午夜亚洲精品午夜鲁丝片 | 亚洲成人av电影| 亚洲成人激情综合网| 日日噜噜夜夜狠狠视频欧美人 | 久久se精品一区精品二区| 久久精品国产久精国产| 粉嫩蜜臀av国产精品网站| 91影视在线播放| 欧美色图12p| 日韩欧美一级精品久久| 久久蜜臀精品av| 国产精品夫妻自拍| 亚洲国产成人va在线观看天堂| 亚欧色一区w666天堂| 精品一区二区免费在线观看| 国产成人亚洲综合色影视| 97se亚洲国产综合自在线观| 91精品福利在线| 欧美一卡二卡三卡| 欧美国产乱子伦 | 国产露脸91国语对白| 不卡的av在线| 6080亚洲精品一区二区| 精品国产成人在线影院| 国产精品乱人伦中文| 婷婷开心激情综合| 丁香六月久久综合狠狠色| 欧美亚洲另类激情小说| 久久色视频免费观看| 亚洲三级小视频| 久久精品国产网站| 色8久久人人97超碰香蕉987| 日韩欧美国产综合在线一区二区三区| 国产亚洲女人久久久久毛片| 亚洲激情中文1区| 韩国在线一区二区| 在线欧美小视频| 久久久午夜电影| 亚洲成人一区二区| 丁香六月综合激情| 日韩精品中午字幕| 一区二区三区国产| 国产乱码精品一区二区三区av| 欧美午夜片在线看| 中文字幕av在线一区二区三区| 日韩avvvv在线播放| 91在线无精精品入口| 欧美成人精品高清在线播放| 亚洲一区二区在线视频| 成人app网站| 欧美成人精品1314www| 亚洲午夜久久久| 成人av网站免费观看| 久久午夜电影网| 免费在线观看一区| 欧美丝袜丝nylons| 亚洲人成网站在线| 国产精品18久久久久久久久| 欧美精品免费视频| 亚洲综合一区在线| 91欧美激情一区二区三区成人| 国产午夜亚洲精品理论片色戒| 免费黄网站欧美| 欧美日韩免费观看一区二区三区| 亚洲欧美在线视频| 不卡视频一二三| 中文字幕第一区综合| 国产成人啪午夜精品网站男同| 日韩丝袜美女视频| 首页国产丝袜综合| 欧美日韩精品高清| 亚洲午夜在线视频| 91成人在线精品| 亚洲精品免费一二三区| 成人动漫一区二区| 欧美国产乱子伦| 成人av电影在线网| 国产精品沙发午睡系列990531| 国产精品资源站在线| 久久亚洲精品国产精品紫薇 | 91精品福利视频| 亚洲免费观看高清完整版在线观看 | 粉嫩av一区二区三区粉嫩| 久久亚洲精品小早川怜子| 久久99久国产精品黄毛片色诱| 日韩一区二区在线观看视频播放| 日韩电影一区二区三区| 日韩一区二区免费在线观看| 琪琪一区二区三区| 欧美成人一级视频| 国产精品99久久久久久似苏梦涵 | 国产一区二区三区免费| 欧美videofree性高清杂交| 精品在线一区二区三区| 精品国产sm最大网站免费看| 精品一区二区免费视频| 国产亚洲1区2区3区| 成人一区二区三区视频在线观看| 国产精品欧美久久久久一区二区 | 欧美肥大bbwbbw高潮| 奇米色一区二区| 久久免费视频色| 99久久精品久久久久久清纯| 亚洲伦理在线精品| 在线综合+亚洲+欧美中文字幕| 精品一区二区国语对白| 国产精品免费网站在线观看| 97久久超碰国产精品| 无码av中文一区二区三区桃花岛| 日韩一区二区三区四区五区六区| 激情综合网激情| 综合久久国产九一剧情麻豆| 欧美色欧美亚洲另类二区| 久久精品国产成人一区二区三区| 亚洲一卡二卡三卡四卡| 欧美日韩精品免费观看视频| 精品综合免费视频观看| ...av二区三区久久精品| 欧美少妇一区二区| 国产精品99久久久久久久vr| 亚洲激情五月婷婷| 欧美成人精品福利| 色香蕉成人二区免费| 蜜桃av一区二区| 亚洲色图制服诱惑| 日韩亚洲欧美在线| 91色porny| 久草在线在线精品观看| 亚洲视频在线一区| 欧美电影免费观看高清完整版在| 99久久久久免费精品国产| 三级欧美在线一区| 中文字幕一区在线观看视频| 日韩一区二区三区在线| 99re热视频精品| 韩国欧美国产1区| 一区二区三区日韩欧美| 久久久99精品免费观看| 欧美日韩亚洲国产综合| 国产精品77777| 天堂va蜜桃一区二区三区| 国产精品传媒在线| 精品福利一区二区三区| 在线观看精品一区| 国产不卡免费视频| 麻豆精品视频在线| 亚洲va韩国va欧美va精品| 综合久久久久综合| 欧美国产一区视频在线观看| 欧美一区二区不卡视频| 色美美综合视频| 粉嫩av亚洲一区二区图片| 日韩av一区二区三区四区| 亚洲综合色视频| 国产精品成人一区二区三区夜夜夜|