공유 테스트
분류 전체보기
- 공유 테스트 2019.08.23
- MSSQL DB 백업 및 복구 쿼리 2019.07.29
- html 공백제거 2019.05.10
- 다중 태그 가져오기 2019.04.24
- Mysql DB 복구 방법 2019.04.17
- 한글설정 2018.08.21
- 이미지 DB 넣고 다시 화면에 출력하는 로직 2018.08.20
- mysql 에서만 사용할수 있는 페이징 처리 쿼리 2018.08.12
- maria insert 시 중복 키 업데이트 2018.08.05
- 윈도우 서비스 nssm 으로 war 파일 등록 2018.07.19
공유 테스트
MSSQL DB 백업 및 복구 쿼리
1. 우선 백업할 DataBase 검색 쿼리
SELECT * FROM master.dbo.sysdatabases
MSSQL 에 생성된 모든 데이터 베이스 검색을 할 수가 있음
2. 백업 쿼리 작성
SELECT
'backup database ' + name +' to disk= ''C:\DataBaseBackUp\' + name +'.bak'''
FROM master.dbo.sysdatabases
where name like '%[DataBaseName]%'
원하는 데이터베이스 명을 조건에 입력 하고
데이터베이스 백업 파일을 C 드라이브에 DataBaseBackUp 폴더 경로로 잡아줌(폴더가 생성되어있어야함)
3. 복구 쿼리 (1) 백업한 DataBase 를 새로운 MSSQL 서버에 복구할 경우
3.1
SELECT
'RESTORE FILELISTONLY FROM DISK = ''C:\DataBaseBackUp\' + name +'.bak'''
FROM master.dbo.sysdatabases
where name like '%[DataBaseName]%'
RESTORE FILELISTONLY FROM DISK = ''C:\DataBaseBackUp\' + [DataBaseName]+'.bak'''
생성한 쿼리 조회 시 논리적/물리적인 데이터 행을 조회 할수 있습니다.
논리적 이름을 mdf/ldf 를 확인 할수 있으며
3.2
SELECT
'RESTORE DATABASE ' + name +
' FROM DISK = ''C:\DataBaseBackUp\' + [DataBaseName] +'.bak''
with move '''+ name + ''' to ''C:\Program Files\Microsoft SQL Server\MSSQL12.SQLEXPRESS\MSSQL\DATA\' + name +'.mdf''
,move ''' + name + '_log'' to ''C:\Program Files\Microsoft SQL Server\MSSQL12.SQLEXPRESS\MSSQL\DATA\' + name +'.ldf'''
FROM master.dbo.sysdatabases
where name like '%[DataBaseName]%'
RESTORE 진행
RESTORE DATABASE [name]
FROM DISK = 'C:\DataBaseBackUp\[name].bak'
with move '[LogicalName mdf 파일명]' to '[실제DB경로]C:\Program Files\Microsoft SQL Server\MSSQL12.SQLEXPRESS\MSSQL\DATA\[name].mdf'
move '[LogicalName ldf 파일명]' to '[실제DB경로]C:\Program Files\Microsoft SQL Server\MSSQL12.SQLEXPRESS\MSSQL\DATA\[name].ldf'
4. 복구 쿼리 (2) 백업한 DataBase를 기존 MSSQL 서버에 복구할경우
SELECT
'RESTORE DATABASE ' + [DataBaseName]+' FROM DISK = ''C:\DataBaseBackUp\' + name +'.bak'' with replace'
FROM master.dbo.sysdatabases
where name like '%[DataBaseName]%'
with replace 의 의미는 덮어쓴다라는 의미로 생각하면 될거같음
5. 복구 시 오류 발생 경우 [데이터베이스가 사용중인 경우]
속성 클릭
속성 -> 옵션 -> 상태 ->액세스 제한
MULTI_USER ---> SINGLE_USER 변경 후 복구 쿼리 실행
복구 완료 후 SINGLE_USER 변경된걸 MULTI_USER 로 다시 변경 하면 끝
'DataBase > Mssql' 카테고리의 다른 글
Mysql DB 복구 방법 (0) | 2019.04.17 |
---|---|
maria insert 시 중복 키 업데이트 (0) | 2018.08.05 |
html 공백제거
<%@ page contentType="text/html;charset=UTF-8" language="java" trimDirectiveWhitespaces="true"%>
다중 태그 가져오기
Attribute Starts With Selector [name^=”value”]
value 시작하는 name 속성을 가진 모든 <input> 요소 가져옴
Attribute Starts With Selector [name$=”value”]
value 끝나는 name 속성을 가진 모든 <input> 요소 가져옴
Attribute Starts With Selector [name*=”value”]
value 이라는 단어가 포함 된 name 속성을 가진 모든 <input> 요소를 선택하십시오.
Attribute Starts With Selector [name~=”value”]
특정 단어 value를 포함하는 name 속성을 가진 모든 <input> 요소 가져옴
Mysql DB 복구 방법
손상된 DB 복구 방법
[준비]
1. 기존 DB 폴더 백업
2. mysql utilities 파일 다운 (https://downloads.mysql.com/archives/utilities/)
[실행]
utilities 실행 하면 콘솔창
mysqlfrm --diagnostic C:\Users\[frm 파일]
[frm 파일 경로 설정]
복원할 table의 create query 문 생성
복원할 table 의 create query 문 뽑은다음
기존 데이터베이스명 동일 하게 만든 후
create query 문으로 테이블 생성
[경로]
C:\ProgramData\MySQL\MySQL Server 5.6\data
생성 데이터베이스 폴더에 들어간 테이블 확인
이후 DB tool(전 heidisql 사용)
테이블의 테이블 스페이스 처리
ALTER TABLE [TableName] DISCARD TABLESPACE;
기존 백업한 ibd 파일을 ---> C:\ProgramData\MySQL\MySQL Server 5.6\data
생성 데이터베이스 폴더에 복사 붙여넣기 후
테이블의 테이블 스페이스 처리
ALTER TABLE [TableName] IMPORT TABLESPACE;
하면 복원 됨
'DataBase > Mssql' 카테고리의 다른 글
MSSQL DB 백업 및 복구 쿼리 (0) | 2019.07.29 |
---|---|
maria insert 시 중복 키 업데이트 (0) | 2018.08.05 |
한글설정
C:\Program Files\MariaDB 5.5\data 의 my.ini 설정
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqldump]
default-character-set=utf8
[mysqld]
init_connect="SET collation_connection = utf8_general_ci"
init-connect='SET NAMES utf8'
character-set-server=utf8
collation-server = utf8_general_ci
설정 하면 된다
'DataBase > MariaDB(Mysql)' 카테고리의 다른 글
mysql 에서만 사용할수 있는 페이징 처리 쿼리 (0) | 2018.08.12 |
---|---|
새로운 테이블에 검색 테이블 데이터 넣기 (0) | 2018.07.09 |
MariaDB Rownum 을 Oracle 처럼 Rownum 출력 하는 쿼리 (0) | 2018.06.27 |
Mysql 에서 한글 Insert 시 입력 안되는 문제!! (0) | 2018.03.13 |
이미지 DB 넣고 다시 화면에 출력하는 로직
1.jsp
1이미지 업로드 페이지
<form action="" method="" enctype="multipart/form-data">
<input type="file" id="" name="" onchage="readUrl(this)"> <!-- onchage 이벤트를 통해 아래 이미지 출력 -->
<img id="" name="" src="#" alt="your image"/> <!-- 이미지를 보여준다-->
</form>
<!-- 이미지 출력 스크립트 -->
<script>
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function(e) {
$('#blah').attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}
<script>
2, JSP 화면 출력 페이지
<!-- 이미지 출력 부분 -->
이미지 태그에서 바로 컨트롤러 메소드를 호출할수 있더라 그래서 PrivacyKey 를 이용하여 이미지 파일 호출
<td><img width="50" height="50" src="/showImg/${listBoard.NUM}.do"/></td>
2.java
2.1 DB Insert JavaMethod 생성 (MultipartFile 파일을 이용하여 파일 업로드)
@RequestMapping(value = "/insertBoard.do")
public String insertBoard(ModelMap model,HttpServletRequest request,HttpServletResponse response,MultipartFile imgFile)throws Exception {
String title = request.getParameter("title");
String content = request.getParameter("content");
String imgName = imgFile.getOriginalFilename();
String imgContentType= imgFile.getContentType();
//inputstream 으로 변환
InputStream fis = imgFile.getInputStream();
//IOUtils 이용하여 바이트 배열로 치환
byte[] image = IOUtils.toByteArray(fis);
Map<String,Object> paramMap = new HashMap<String,Object>();
paramMap.put("title", title);
paramMap.put("content",content);
paramMap.put("imgFile", image);
paramMap.put("imgName", imgName);
paramMap.put("imgContentType", imgContentType);
boardService.insertBoard(paramMap);
// 완료 되고 나면 목록 페이지로 url 변경하는 redirect 사용
return "redirect:/listBoard.do";
}
2.2 DB select JavaMethod 생성
@RequestMapping(value = "/showImg/{num}.do")
public void showImg(@PathVariable("num") String num, HttpServletResponse response) throws IOException, SerialException, SQLException {
List<Map<String, Object>> listBoard;
try {
Map<String,Object> paramMap = new HashMap<String,Object>();
paramMap.put("num", num);
listBoard = boardService.selectListBoard(paramMap);
//이미지 파일 이름
response.setHeader("Content-Disposition", "inline;filename=\"" + listBoard.get(0).get("IMGNAME") + "\"");
OutputStream outputStream = response.getOutputStream();
//이미지 contentType
response.setContentType((String) listBoard.get(0).get("IMGCONTENTTYPE"));
// 이미지 바이트 배열
SerialBlob blob = new SerialBlob((byte[]) listBoard.get(0).get("IMGFILE"));
IOUtils.copy(blob.getBinaryStream(), outputStream);
outputStream.flush();
outputStream.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
참고 http://xx707xx.tistory.com/47
mysql 에서만 사용할수 있는 페이징 처리 쿼리
select * from table_page
LIMIT 0,10
0부터 10까지 출력이 됨
'DataBase > MariaDB(Mysql)' 카테고리의 다른 글
한글설정 (0) | 2018.08.21 |
---|---|
새로운 테이블에 검색 테이블 데이터 넣기 (0) | 2018.07.09 |
MariaDB Rownum 을 Oracle 처럼 Rownum 출력 하는 쿼리 (0) | 2018.06.27 |
Mysql 에서 한글 Insert 시 입력 안되는 문제!! (0) | 2018.03.13 |
maria insert 시 중복 키 업데이트
INSERT INTO favorite
(
hno,
member_nm
) VALUES (
#{hno},
#{memberNm}
)
ON DUPLICATE KEY
UPDATE use_yn = 'Y',
mod_date = now()
'DataBase > Mssql' 카테고리의 다른 글
MSSQL DB 백업 및 복구 쿼리 (0) | 2019.07.29 |
---|---|
Mysql DB 복구 방법 (0) | 2019.04.17 |
윈도우 서비스 nssm 으로 war 파일 등록
윈도우 커맨드창 에서
nssm 폴더의 32/64 경로 이동
-nssm install [서비스명]
application
-path = javaw
-startup directory = war 파일 경로
-arguments = -jar [war 파일명]
-nssm remove [서비스명]
-nssm edit [서비스명]