MySQL database, data 복사하기

개발/DB 2020. 3. 25. 16:43

리눅스 환경에서 실행

 

1. mysqldump명령어로 .sql파일을 만든다.

    #mysqldump -uroot -p [database명] > [파일이름].sql

    ex) #mysqldump -uroot -p tok > /경로/dumpTok.sql

   이렇게 하고 파일 리스트를 확인해보면 dumpTok.sql 파일이 생성 되어있다.

 

리고 ftp나 여러 방법으로 dumpTok.sql파일을 새로운 서버(서버 이전 하고 싶은)에 옮긴다. 위치는 아무데나 상관없다.

 

*특정 테이블의 구조만 dump 하고 싶을 때 (-d 옵션 사용)

# mysqldump –d –u디비사용자명 –p패스워드 데이터베이스명 > 백업할파일명.sql

ex) #mysqldump -d -uroot -p tok table1 table2 table3 > /경로/dumpTok.sql

*특정 테이블만 dump 하고 싶을 때 (데이터 까지 같이 )

# mysqldump  –u디비사용자명 –p패스워드 데이터베이스명 > 백업할파일명.sql

ex) #mysqldump -uroot -p tok table1 table2 table3 > /경로/dumpTok.sql

 

2. 새로운 서버에 접속한다.

mysqladmin -uroot -p create tok  //database 를 생성한다. (같은 기능을 동작하기 위해 이름을 동일하게 했다) 

mysql -uroot -p tok  < dumpTok.sql //tok이란 database에 dumpTok.sql을 실행

 

이렇게 하면 database에 데이터가 들어간 것을 확인할 수 있다.

 

 

'개발 > DB' 카테고리의 다른 글

부적합한 열이름(동적으로 컬럼명 사용할 시 )  (0) 2020.11.30
Clob 타입을 varchar2 타입으로  (0) 2018.02.14
오라클 REGEXP_LIKE  (0) 2015.12.16
ORA-00054 에러  (0) 2015.11.25
해당 컬럼이 있는 테이블 찾기  (0) 2015.09.14

java file resize (이미지 사이즈) 수정하기

개발/코딩 2020. 3. 24. 17:13

File file = new File(src+fileName);

 

/* File resize */
BufferedImage inputImage = ImageIO.read(file);
int width = 250;
int height = 200;

String[] ext = {"jpg","JPG", "PNG","png"};

for(String format : ext) {
BufferedImage outputImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics2D g = outputImage.createGraphics();
g.drawImage(inputImage, 0, 0, width, height, null);

File out = new File(src+fileName);
FileOutputStream fos = new FileOutputStream(out);
ImageIO.write(outputImage, format, fos);
}
/* File resize END*/

자바 다른 서버로 sftp 파일 전송

개발/코딩 2020. 3. 23. 13:19

sftp를 활용하기 위해서는 jsch 라이브러리가 필요.

 

*maven 형태 

<dependency>

<groupId>com.jcraft</groupId>

<artifactId>jsch</artifactId>

<version>0.1.55</version>

</dependency>

 

*gradle 형태

// https://mvnrepository.com/artifact/com.jcraft/jsch

compile group: 'com.jcraft', name: 'jsch', version: '0.1.55'

 

해당 클래스에 

import com.jcraft.jsch.Channel;
import com.jcraft.jsch.ChannelSftp;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;

 

프로세스를 작성한후 

sftpConnect(fileName); 호출 하면

 

  // 다른서버 SSH 전송
@SuppressWarnings("finally")
public String sftpConnect(String fileName) {
    String rfileName = "";
    try {
    String des = "/root/"; //파일을 이동시키고자 하는 위치
    String src = "/home/tomcat/webapps/Anticall/upload/";  //파일이 존재 하는 위치
JSch jsch = new JSch();
Session session = jsch.getSession("user", "192.168.xxx.xxx", 22);  //user, ip, port
session.setConfig("StrictHostKeyChecking", "no");
session.setPassword("password");  //이동시킬 서버의 password

session.connect();
Channel channel = session.openChannel("sftp");
channel.connect();
ChannelSftp sftpChannel = (ChannelSftp) channel;
sftpChannel.cd(des); 
File file = new File(src+fileName);
FileInputStream fis = new FileInputStream(file);
sftpChannel.put(fis, file.getName());
fis.close();

sftpChannel.disconnect();
channel.disconnect();
session.disconnect();   

rfileName = file.getName();
} catch(Exception e) {
logger.error("Exception:",e);
} finally {
return rfileName;
}   
}

 

숫자만 입력

개발/jQuery 2020. 3. 5. 09:33

예전에는 자바 스크립트로 코딩했었는데 

이번에는 jQuery로 하는 방법이다.

 

<input type="text" id="CALL_COUNT" name="CALL_COUNT"  maxlength="4" numberOnly />

 

위 텍스트 박스를 만들고

 

<script>

$("input:text[numberOnly]").on("keyup", function() {
    $(this).val($(this).val().replace(/[^0-9]/g,""));
});

</script>

 

하면 된다

'개발 > jQuery' 카테고리의 다른 글

input 붙여 넣기 방지  (0) 2017.10.17
대표적인 getter 메소드와 setter 메소드  (0) 2017.07.12
input 요소 선택  (0) 2017.07.12
jQuery 선택자  (0) 2017.07.12
비슷한 ID 가져오기  (0) 2017.07.07

톰캣에 SSL 설정

개발/실전 2020. 2. 19. 17:12

1. 윈도우 커맨드 창을 관리자 권한으로 실행한다.

 

2. 자바 홈 디렉토리\bin 으로 이동한다.

(환경변수에 JAVA_HOME 이 설정되어있고 path 에 JAVA_HOME\bin 이 추가되어 있다면 이 부분은 생략한다.)

 

3. keytool -genkey -alias tomcat -keypass password -storepass password -keyalg RSA -keystore %USERPROFILE%\.keystore -dname "CN=xxxx.co.kr, OU=xxxx, O=xxxx, C=KR" 를 커맨드창에 입력한다.

여기서 password 는 인증서에서 사용 할 비밀번호이니 원하는 비밀번호를 넣는다.

 

4. C:\Users\계정명 폴더에 보면 .keystore 파일이 존재한다.

 

5. 이 파일로 톰캣에서 SSL 설정을 할 수 있다.

 

위 과정을 했다면 server.xml 파일을 연다.

 

톰캣에서 8080포트를 기본으로 사용하며, SSL 설정을 해서 443 포트로 사용할 것이다.

 

따라서 server.xml 에서 아래와 같이 설정한다.

 

<Connector port="8080" protocol="HTTP/1.1"

               connectionTimeout="20000"

               redirectPort="443" 

   URIEncoding="UTF-8" />

        

    <Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol"

               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"

               clientAuth="false" sslProtocol="TLS" 

   keystoreFile="C:\Tomcat7\conf\.keystore" keystorePass="password" keystoreType="pkcs12" />

    

    <!-- Define an AJP 1.3 Connector on port 8009 -->

    <Connector port="8009" protocol="AJP/1.3" redirectPort="443" />

 

그리고 keystorePass 는 .keystore 파일을 생성할 때 설정한 비밀번호 이다.

 

이렇게 하고 톰캣을 재시작 한 뒤 접속하면 자동으로 SSL 접속이 된다.

리눅스 톰캣 다중 띄우기

개발/리눅스 2020. 2. 18. 14:24

1.기존 톰캣을 복사한다

# cp -r /usr/local/tomcat /usr/local/tomcat2

 

2. catalina.sh 파일 수정

# vi /usr/local/tomcat/bin/catalina.sh

위 파일을 열어서 아래 빨간 부분을 추가시켜준다

 

# resolve links - $0 may be a softlink
PRG="$0"

while [ -h "$PRG" ]; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`/"$link"
fi
done

export CATALINA_HOME=/usr/local/tomcat
export TOMCAT_HOME=/usr/local/tomcat
export CATALINA_BASE=/usr/local/tomcat
CATALINA_PID=/usr/local/tomcat/bin/tomcat.pid

# Get standard environment variables
PRGDIR=`dirname "$PRG"`

*기존 톰캣은 tomcat으로, 복사한 톰캣은 tomcat2로 설정해준다

 

3. conf/server.xml 파일 수정

(여기서는 파란색이 기존 tomcat, 빨간색을 tomcat2로 표시하겠다)

<Server port="8005" shutdown="SHUTDOWN">

...

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectport="8443" />

...

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

 

 

<Server port="9005" shutdown="SHUTDOWN">

...

<Connector port="9080" protocol="HTTP/1.1/" connectionTimeout="20000" redirectport="8443" />

...

<Connerctor port="9009" protocol="AJP/1.3" redirectPort="8443" />

 

 

'개발 > 리눅스' 카테고리의 다른 글

AWS서버 FileZilla Root 권한으로 접속하는 방법.  (0) 2023.10.20
리눅스 스프링 프로젝트 띄우기  (0) 2020.02.14
리눅스 톰캣 설치  (0) 2020.02.14
리눅스 JAVA 설치  (0) 2020.02.14

리눅스 스프링 프로젝트 띄우기

개발/리눅스 2020. 2. 14. 17:43

이클립스 해당 프로젝트에서

우클릭 > Export > Web > WAR file 선택 

Web Project : 프로젝트 이름 (자동으로 입력 되어있다)

Destination : 파일 저장 위치

설정 후 Finish

 

WAR파일을

tomcat/webapps 폴더에 넣는다

 

tomcat 설치 경로의 conf를 들어간다

#vi server.xml

 

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> 태그 밑에 

<Context path="" DocBase="/usr/local/tomcat/webapps/WAR파일명" reloadable="true" />

주의 파일명을 입력할 때 .war제외 (ex: test.war 라면 test만 입력)

 

입력 후 톰캣을 재실행 해준다

bin으로 가서 ./shutdown.sh  후 ./start.sh

 

http://서버 ip입력:8080/프로젝트명

입력하면 확인 할 수 있다

 

만약에 url에 프로젝트명을 입력하지 않으려면

<Context path="/"    이렇게 바꿔주면 된다

 

 

'개발 > 리눅스' 카테고리의 다른 글

AWS서버 FileZilla Root 권한으로 접속하는 방법.  (0) 2023.10.20
리눅스 톰캣 다중 띄우기  (0) 2020.02.18
리눅스 톰캣 설치  (0) 2020.02.14
리눅스 JAVA 설치  (0) 2020.02.14

리눅스 톰캣 설치

개발/리눅스 2020. 2. 14. 15:21

http://mirror.apache-kr.org/ 사이트에 들어가서

tomcat / tomcat-7 / v7.0.99 / bin / apache-tomcat-7.0.99.tar.gz를 다운받는다.

#cd /usr

#mkdir tomcat

해당 파일을 서버에 올린다 ( 파일질라 등의 프로그램을 이용해서)

 

만들어진 폴더로 이동해서 tar 압출을 풀어준다

#tar -zxvf apache-tomcat-7.0.99.tar.gz

#/usr/local/tomcat/apache-tomcat-7.0.99/bin

#./startup.sh

 

실행되었는지 확인하고 싶으면

 

#ps -ef | grep tomcat 

으로 확인할 수 있다

 

 

리눅스 JAVA 설치

개발/리눅스 2020. 2. 14. 15:12

톰캣을 설치 하기 위해서는 먼저 jdk 를 설치 한다.

 

jdk 설치 가능 확인

# yum list java*jdk-devel

   =Loaded plugins: fastestmirror

 

jdk 설치

# yum install java-1.7.0-openjdk-devel

   이렇게 하면 설치를 하는데 중간에 아래와 같이 묻는데 y를 입력하면 된다

   =Is this ok [y/d/N]: y

   complete! 를 확인할 수 있다.

 

jdk 설치 확인

# rpm -qa java*jdk-devel

    =java-1.7.0-openjdk-devel-1.7.0.241-2.6.20.0.el7_7.x86_64

# javac -version

   =javac 1.7.0_241

 

java 설치 경로 확인

# which java

 

java 설치 삭제

# yum remove java-1.7.0-openjdk-devel

 

 

 

 

 

JSP 로딩바, 화면 반투명 레이어

개발/코딩 2019. 6. 5. 16:08

버튼을 누르면 데이터를 하나만 생성해야하는데,

로딩이 너무 길어서(로딩바가 없다면) 사용자가 기다리지 못하고 버튼을 여러번 누를 경우,

데이터가 여러개가 생성되는 현상을 발견.

간단하게 처리 하려면 

변수값 = 0 이라 두고, 버튼 클릭시 변수값을 1로 변경한다음에

버튼을 다시 누르면 변수값이 0인지 체크하고 아니면 데이터를 생성 못하게 하는 방법도 있지만

웬지 욕심도 나고 해서 로딩바를 만들어보고 싶었다. ( + 화면 반투명하게 만들고 싶었다)

 

<script src="./spin.js"> </script>

js파일은 로딩바를 나타내기 위한 파일입니다.

위 파일은 http://spin.js.org/에서 받을 수 있고, 첨부파일로도 다운받으실 수 있습니다.

 

<style>

div.backLayer { display:none; background-color:black; position:absolute; left:0px; top:0px; } div#loadingDiv{ background-color:skyblue; display: none; position: absolute; width:300px; height:300px; } 

</style>

바탕화면에 반투명 레이어를 나타내기 위한 것 입니다.

 

<body>

  <div class="backLayer" style=""></div>

  <span class="ssBtn" onclick="voucherIssue()"> 발행 </span>

</body>

위의 발행을 클릭하면 voucherIssue()가 실행 되겠다.

 

function voucherIssue(){

var spinner;
/*화면 불투명하게*/
var width = $(window).width();
var height = $(window).height();
//화면을 가리는 레이어의 사이즈 조정
$(".backLayer").width(width);
$(".backLayer").height(height);
$(".backLayer").fadeTo(500, 0.3);//화면을 가리는 레이어를 보여준다 (0.5초동안 30%의 농도의 투명도)
/*화면 불투명하게*/

/* 로딩바 */
spinner = new Spinner().spin().el;
$(document.body).append(spinner);
/* 로딩바 */

}

spin.js
0.01MB