과 struts 2 (jsp) 웹 응용 프로그램이 있습니다.jsp 페이지에서 데이터베이스 백업
jsp/java 페이지에서 데이터베이스 백업을 수행 할 수 있습니까?
마찬가지로 복원을 복원 할 수 있습니까?
좀 자습서 또는 팁을 제공하십시오 ..
내 실제 필요가 서버에서 MySQL을 액세스하지 않고, 백업 받아 GUI 자체를 사용하여 복원 에 관리자에 대한 액세스 권한을 부여하는 것입니다. 사전에
감사합니다 ..
과 struts 2 (jsp) 웹 응용 프로그램이 있습니다.jsp 페이지에서 데이터베이스 백업
jsp/java 페이지에서 데이터베이스 백업을 수행 할 수 있습니까?
마찬가지로 복원을 복원 할 수 있습니까?
좀 자습서 또는 팁을 제공하십시오 ..
내 실제 필요가 서버에서 MySQL을 액세스하지 않고, 백업 받아 GUI 자체를 사용하여 복원 에 관리자에 대한 액세스 권한을 부여하는 것입니다. 사전에
감사합니다 ..
당신이
static int BUFFER = 10485760;
public static String getData(String host, String port, String user, String password, String db) throws Exception {
Process run = Runtime.getRuntime().exec(
"C:\\Program Files\\MySQL\\MySQL Server 5.0\\bin\\mysqldump --host=" + host + " --port=" + port +
" --user=" + user + " --password=" + password +
" --compact --databases --add-drop-table --complete-insert --extended-insert " +
"--skip-comments --skip-triggers "+ db);
InputStream in = run.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(in));
StringBuffer temp = new StringBuffer();
int count;
char[] cbuf = new char[BUFFER];
while ((count = br.read(cbuf, 0, BUFFER)) != -1)
temp.append(cbuf, 0, count);
br.close();
in.close();
return temp.toString();
}
public static void main(String[] args) {
byte[] data = BackupRestore.getData("localhost", "3306",
"root", "", "test").getBytes();
File filedst = new File(path);
FileOutputStream dest = new FileOutputStream(filedst);
dest.write(data);
}
과 같은 작업을 수행 할 수 있습니다하지만 당신이 더 나은 사용자 명령 줄 도구를 할 수있는 강력한/공상 이유가없는 때까지 내가 생각 MySQL을 사용하는 경우
MySQL과 함께 제공되는 GUI 도구를 사용하여 테스트를 거쳐 더욱 쉽게 사용할 수 있습니다.
String path="C:/datadump/db_backup.sql"
는 해당 경로
C:/datadump
가 존재한다 확인 또는 당신은 당신의 선택의 다른 경로를 제공 할 수 있습니다.
u는 정말 좋은 일을했습니다 ... 최고의 아이디어 ... –
이 문제를 해결할 수 있다면 답변을 수락 한 것으로 표시 할 수 있습니다 –
어디로 결과가 저장 될까요? 그것은 .sql 형식이 될 것인가? –
당신은 수 일 수도 있지만, 좋은 생각은 아닙니다. MySQL 논리 백업은 SQL이며 서버 내부에 대한 액세스가 필요하지 않습니다. 문서화 된 SQL 인터페이스를 사용하여 백업을 만들 수 있습니다.
당신은 INFORMATION_SCHEMA에서 등 데이터베이스, 테이블, 뷰의 목록을 얻을, 또는show tables
에서 수
show create table
select * from table_name
를 사용하여 테이블의 내용은, 당신이 뭔가를 (당신은 트리거, 저장 프로 시저, 사용자 정의를 기억 않았다 실종 위험이 D- 기능, ...?). 당신이 오늘 아무것도 놓치지 않더라도 새로운 MySQL 버전이 나오면 내일 새로운 것을 놓칠 위험이 있습니다.
mysqldump
은 MySQL 작성자가 백업 할 새 항목을 추가하는 것을 기억하기 때문에 선호해야합니다. 당신은 그것을 호출하기 위해 밖으로 쉘 수 있습니다; 출력 (디폴트)은 SQL입니다.
백업 복원은 간단합니다. SQL 문을 하나씩 실행하십시오.
데이터베이스를 통해 CRUD (만들기, 읽기, 업데이트, 삭제) 작업을 할 수 있지만 사용중인 데이터베이스의 JDBC API – GustyWind
내에서 프로그래밍 언어를 통해 복원/백업 할 수는 없습니다. MySQL의 경우 사용할 수있는 워크 벤치를 사용할 수 있습니다. 백업 마법사 및 더 나은 사용자 간단한 명령 줄 .EURse 커드 간단한 커드 작업을 만들 수 있습니다 –