ToBe끝판왕

[ LINUX ] 데이터베이스 사용, Windows 덤프 시키기, 우편번호 데이터 삽입, Putty 리눅스 서버 접속, 포트번호 변경 본문

■ 프로그래밍 SKILLS/LINUX

[ LINUX ] 데이터베이스 사용, Windows 덤프 시키기, 우편번호 데이터 삽입, Putty 리눅스 서버 접속, 포트번호 변경

업그레이드중 2022. 5. 16. 10:26
반응형

 


 

데이터베이스(mariaDB) 사용

1) mariaDB 설치

$ sudo apt-get install mariadb-server 명령어를 입력하여 설치한다.

 

2) 설치 확인 (2가지)

· $ sudo service mysql status

· $ systemctl status mariadb

 

3) 접속방법 2가지( 클라이언트 / 관리자 )

· $ sudo mysql ( 클라이언트로 접속 )

· $ sudo mysql -u root -p ( 관리자로 접속 )

 

설정해줄 사항

 

5)

 

6) 테이블 1개를 연습으로 만들어보고

테이블 명령어 : create table testtbl( col1 varchar(10) );

insert into testtbl values( ' aaa' );

insert into testtbl values( ' 가나다' ); ( 한글처리 되는것 확인 )

 

7) 우편번호 데이터 리눅스서버 DB에 연결 및 사용

 

위 파일을 다운받아 project데이터베이스에 넣는다.

 

•  zipcode 라는 테이블을 만든다.

•  테이블에 위파일의 데이터를 입력하는 Java프로그램 작성

•  테이블 생성문

create table zipcode (
		zipcode varchar(7) not null,
		sido varchar(4) not null,
		gugun varchar(17),
		dong varchar(26) not null,
		ri varchar(45),
		bunji varchar(17),
		seq int(5) unsigned not null
		);

•  프로젝트는 이 구조와 같이 생성해준다.

•  예전에 사용했던 코드를 가져와서 사용한다.

•  InsertZipcode.java

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;

		public class InsertZipcode {

			public static void main(String[] args) {
				// TODO Auto-generated method stub

				String url = "jdbc:mysql://localhost:3306/project";
				String user = "project";
				String password = "123456";
				
				Connection conn = null;
				PreparedStatement pstmt = null;
				
				BufferedReader br = null;
				
				try {
					Class.forName( "org.mariadb.jdbc.Driver" );
					conn = DriverManager.getConnection( url, user, password );
					
					String sql = "insert into zipcode values( ?, ?, ?, ?, ?, ?, ?)";
					pstmt = conn.prepareStatement( sql );
					
					
					br = new BufferedReader( new FileReader( "/home/master/zipcode_all_utf8_type2.csv") );
					
					String line = null;
					while( ( line = br.readLine()) != null ) {
						String[] addresses = line.split( "," );
						pstmt.setString( 1, addresses[0]);
						pstmt.setString( 2, addresses[1]);
						pstmt.setString( 3, addresses[2]);
						pstmt.setString( 4, addresses[3]);
						pstmt.setString( 5, addresses[4]);
						pstmt.setString( 6, addresses[5]);
						pstmt.setString( 7, addresses[6]);
						
						pstmt.executeUpdate();
					}
					
					System.out.println( "저장 완료" );
				} catch (ClassNotFoundException e) {
					// TODO Auto-generated catch block
					System.out.println( "[에러]" + e.getMessage() );
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					System.out.println( "[에러]" + e.getMessage() );
				} catch (FileNotFoundException e) {
					// TODO Auto-generated catch block
					System.out.println( "[에러]" + e.getMessage() );
				} catch (IOException e) {
					// TODO Auto-generated catch block
					System.out.println( "[에러]" + e.getMessage() );
				} finally {
					if( br != null ) try { br.close(); } catch( IOException e) {}
					
					if( pstmt != null ) try { pstmt.close(); } catch (SQLException e) {}
					if( conn != null ) try { conn.close(); } catch (SQLException e) {}
				}
			}

		}

 

•  데이터베이스 백업(backup) 만들기

 

8) Ubuntu 에서 windows 데이터베이스 접속

•  ( Windonws → Linux 데이터베이스 접속)

mysql -h Ubuntu아이피번호 -u project -p

( 비번 : 123456 )

•  끝자리 1로 바꾸는 것 ( 윈도우랑 연결시키기 위해서 )

•  ( Linux 데이터 → Windows)

mysqldump -u project -p123456 project zipcode | mysql -h Ubuntu아이피 -u project -p1234 project


mariaDB 서버에서 원격세팅

 

4) SSH 확인 명령어

$ sudo apt-cache search openssh

 

 

 

$ sudo apt-cache show openssh-server

 

 

$ sudo apt-get install openssh-server ( SSH server 설치 )

 

 

$ systemctl status sshd ( ssh가 실행되고 있음을 보여준다. )

 

 

$ ssh master@localhost ( 원격접속 )

•  exit 접속종료

•  $ w 명령어로 접속 확인가능

5) putty

Download PuTTY - a free SSH and telnet client for Windows

 

Download PuTTY - a free SSH and telnet client for Windows

Is Bitvise affiliated with PuTTY? Bitvise is not affiliated with PuTTY. We develop our SSH Server for Windows, which is compatible with PuTTY. Many PuTTY users are therefore our users as well. From time to time, they need to find the PuTTY download link. W

www.putty.org

 

•  다운받고 실행

•  밑에 Saved Sessions 부분에 Ubuntu의 아이피를 입력하고 save시킨다.

( 로그인할때는 load를 누르고 open을 누르면 해당 IP로 접속된다. )

6) 포트(port)번호 변경해보기

$ systemctl stop sshd ( 일단 SSH 멈추고 )

$ systemctl status sshd (SSH 상태 확인 )

$ sudo vi /etc/ssh/sshd_config ( vi편집기에서 포트번호 변경 )

$ systemctl start sshd ( 다시 시작해보기 )

$ systemctl status sshd ( 상태확인 )

putty에서 포트번호 변경후, master 접속

•  복습 및 연습

 
반응형
Comments