Site Search :
Standard Enterprise XML Methodology Pattern Setting Tunning Other
Article Contributors
GuestBook
Javapattern Maven
XSourceGen Dev
JetSpeed Test
JLook Image
jLook Family Site


MySQL JDBC Connection
 
프로그래밍에 있어서 데이터베이스는 없어서는 안될 도구이다. 자바는 유연한 JDBC를 제공한다. 이 JDBC를 통해서 MySQL을 접속하여 데이터를 가져오도록 하자 ( 2003/02/28 ) 554
Written by ienvyou - 최지웅
2 of 3
 
필요한 TABLE을 만드는 순서:
1. Database만들기 
2. MySQL용 사용자 만들기
3. Table만들기

- javabrain용 DB 만들기(2가지 방법)
1.UNIX shell상에서 만들기 
# mysqladmin -u root -p create javabrain

2.DB에 login후 만들기
mySQL에서제공하는 명령어중 mysqladmin은 관리용
mysql은 client용 명령어.

# mysql -u root -p mysql
mysql> create database javabrain;
 
** mysql 명령어 요약
mysql [-h DB서버IP] [-u DB용사용자ID] [-p[암호]] [Database] [< sql-script파일 ]
-p 만 부여하면  암호는 물어봄. 암호까지 주려면 -p암호(-p와 암호를 붙여씀)


- 새사용자등록
먼저 MySQL에 root로 login
# mysql -u root -p mysql

mysql> grant SELECT,insert,update,delete,create,drop
 > on javabrain.*
 > to scott@'localhost'
 > identified by 'tiger';
mysql> grant SELECT,insert,update,delete,create,drop
 > on javabrain.*
 > to scott@'%'
 > identified by 'tiger';
mysql> flush privileges;

또는

mysql> grant all privileges 
 > on javabrain.* to scott@'%' 
 > identified by 'tiger';

mysql> grant all privileges 
 > on javabrain.* to scott@localhost 
 > identified by 'tiger'; 
mysql> flush privileges;

scott 사용자를 등록할때 여러가지(3가지) 방법이 있는데 그중 하나를 씀
등록시 반드시 to scott@'localhost'와 to scott@'%'를 둘다 해줘야함
localhost와 %는 접속을 허용하는 hostname인데 localhost를 빼면 다른 시스템에서 
network으로만 접근할 수 밖에 없음. 
그리고 %란 모든호스트를 의미하기때문에 %를 지정해야지만 다른 시스템에서 
network으로 MySQL로 접근가능( mysql -h hostIP또는hostname -u 사용자ID -p )

user생성후 반드시 DB를 reload 해야만 만든 사용자가 접속가능(아래명령어)

# mysqladmin -u root -p reload
또는
mysql> flush privileges;


접속해서 확인하기 
# mysql -u scott -p javabrain  --> ㅤDB서버에서login

다른시스템에서
# mysql -h DB서버의IP주소 -u scott -p javabrain


필요한 테이블 만들기(customer,shares,stock) 
-주의사항: mysql은 table name에서의 대소문자를 구분함
(이것은 MySQL이 설치된 OS를 따름. 즉 M$계열에서는 구분안함)

필요한 sql문을 파일(maketable.sql-확장자는 무관)로 만든후 shell상에서 아래
명령어 실행

# mysql -u scott -p javabrain < maketable.sql

확인
# mysql -u scott -p javabrain
mysql> show tables;
mysql> select * from customer;
mysql> select * from shares;
mysql> select * from stock;

- JDBC Driver 사용하기
MySQL용 JDBC Driver는 2가지가 있지만 여기서는 mm driver를 사용.

http://www.worldserver.com/mm.mysql/ 에 가서 최신 버전을 download할것
(mm.mysql-2.0.4-bin.jar)

가져온것을 적당한 곳에서 해제.

사용법:

Class.forName("org.gjt.mm.mysql.Driver");
String url="jdbc:mysql://127.0.0.1:3306/javabrain";
Connection conn = DriverManager.getConnection(url,"scott","tiger");

 

관련 명령어들.

# mysql -u root -p mysql
password: 
mysql> select user();               --> 현재 어떤 user권한으로 접속하고 있는지.
mysql> show database;               -->데이터베이스 종류보기
mysql> show tables from mysql;      --> mysql상의 테이블 정보보기
mysql> show columns from customer;  --> customer 테이블 구조보기
mysql> show index from customer;    --> customer테이블의 인덱스보기
mysql> use mysql;                   --> 사용할 database를 변경
(기본적으로 MySQL에는 두개의 database-mysql,test-가 있음.
  mysql은 DBMS관리용 정보, test는 연습용
  그래서 mysql이란 database는 사용시 주의할것)
 

#########################################
#########################################
##
##   추 가 사 항
##
#########################################
#########################################

javabrain.sql 이라는 파일을 수행 시키면 SL-300을위한 DB를 위한 모든 내용이 자동 설정됨.

사용예)

mysql 서버를 가동시킨후 ( mysqld.exe )
prompt> mysql -u root -p <  javabrain.sql

이러면 아래 사항이 자동 생성됨 
database이름  : javabrain
root암호   : javabrain
사용자 id  : scott
암호    : tiger
생성된table들  : customer, shares, stock

가끔씩 user부분이 적용이 안되는 경우에는 DB를 restart시키면 된다.

prompt> mysqladmin -u root -p shutdown   --> DB shutdown
prompt> mysqld

만약 암호를 바꾸고 싶으면  sql script내부에  .... identified by 다음부분이 암호이니
알아서 바꾸면 됨.  단 반드시 암호는 single quotation으로 묶어줄것.

예) 암호를 apple 로 하자면  .... identified by 'apple'

 
 
1 2 3
References
 
http://www.mysql.com
http://java.sun.com/jdbc
Copyright ⓒ 2003 www.javapattern.info & www.jlook.com, an jLOOK co.,LTD