강의 컨설팅 트레이닝 무료진단 무료책자 마케팅편지 마케팅정보공유 다이어리 서비스제휴 고객센터

MySQL, SQL문의 분류, Eclipse 셋팅, JDBC, 방명록
작성자 : 13 김영철
등록날짜 : 2009.01.29 15:45
4,120

▩ MySql의 설치
================
   - 3.23.32 이하 버전은 보안에 문제가 있음으로 설치하면 절대 안됨
   - DOWNLOAD: http://www.mysql.com/downloads/mysql-4.0.html


[1] Windows NT/2000 Server 에서의 MySql 설치하기
-------------------------------------------------

1. 자료실에 있는 MySql을 설치합니다.
   - 30 Mbyte 사용

 

2. mysql이 설치된 폴더의 bin폴더에서 winmysqladmin.exe를 실행합니다. 계정은 윈도우 administrator계정이나 기타 계정을
   입력합니다. 윈도우의 트레이에 아이콘이 등록된 것이 보일겁니다. 초록색아이콘은 정상적으로 mysql서버가 작동된 것입니다.

 

3. [내 컴퓨터]-[고급]-[환경 변수] 에서 MySql이 설치된 폴더를 path 환경 변수에 추가 합니다.

 

4. 서비스 등록은 설치시에 지정할 수 있으나 수동으로 아래처럼 할수도 있습니다.
   - mysql\bin폴더로 이동합니다.

   e:\Mysql\bin\mysqld-nt --install (공백 주의)
   e:\Mysql\bin\mysqld-nt --remove  (서비스 삭제)

 

5. 그리고 반드시 시스템 재 시작합니다.

 

6. [관리 도구]에 [서비스]를 보면 MySql이 서비스를 자동으로 시작 한것 이 보일것입니다.

 

7. 명령 프롬프트에서 mysql -u root를 하면 MySql로 로그인 합니다.

 


[2] Windows 98 에서의 MySql 설치하기
-------------------------------------

1. 자료실에 있는 MySql을 설치합니다.
   - 30 Mbyte 사용

 

2. mysql이 설치된 폴더의 bin폴더에서 winmysqladmin.exe를 실행합니다. 계정은 윈도우 administrator계정이나 기타 계정을
   입력합니다. 윈도우의 트레이에 아이콘이 등록된 것이 보일겁니다.

 

3. autoexec.bat 파일을 열고 set path="c:\mysql\bin" 을 추가합니다.

   - 기존에 있는 loadhigh C:\WINDOWS\COMMAND\nlsfunc.exe C:\WINDOWS\country.sys 는 지우지 마세요.

 

4. 시스템을 재 시작합니다.

 

5. mysqld.exe를 실행합니다.

 

6. 명령 프롬프트에서 mysql -u root를 하면 MySql로 로그인 합니다.
   또는 mysql -u root mysql

 

7. 삭제는 프로그램 추가 삭제에서 실시 합니다.

 


[3] 리눅스에서의 설치

1. 래드햇, WOW Linux 7.X 이상 버전은 기본적으로 mysql이 포함되어 있음

 

2. mysql은 시스템 관련 프로그램 이지만 root를 사용하지 않고 미리 만들어져 있는 mysql이라는 계정을
   사용합니다.

 

3. 우선 자신의 계정에서 su명령으로 root 계정으로 들어갑니다.
   su

 

4. 이제 root계정에서 mysql계정으로 들어 갑니다.
   su mysql

 

5. mysql 디렉토리인 cd /var/lib/mysql/ 로 이동합니다.

 

6. mysql_install_db를 입력합니다.

 

7. DB생성후 exit로 mysql계정에서 root계정으로 나옵니다.

 

8. safe_mysqld로 mysql 데몬은 실행 시킵니다. 

 


▩ MySQL 제거 (Windows 2000 Server)
1. mysqld-nt --remove
2. [제어판]-[프로그램 추가/삭제]-[MySQL 삭제]
3. 시스템 재시작
4. 필요 없는 폴더 삭제

 


▩ WOWLinux 7.1 에서의 MySQL 셋팅
   - root로 로그인 합니다.  
   - 미리 만들어져 있는 mysql로 들어 갑니다. (root 로그인 에서는 비밀번호를 물어 보지 않습니다.)
     $ su mysql  (mysql 계정 접근 가능하도록 함)
   - cd /var/lib/mysql/ 로 이동합니다.
   - mysql_install_db 명령을 이용해서 기번적인 DB를 만들어 줍니다.
   - $ exit DB를 만들었으면 mysql 계정에서 root계정으로 나옵니다.
   - # safe_mysqld & 로 mysql를 기동합니다.
   - Windows 2000 Server 도스 입력 창에서 telnet 211.108.***.***를 입력하고 작업을 합니다.

 


▩ 계정에 보안 적용
   - mysql을 처음 설치하면 root계정에 패스워드가 없습니다.

   1. 계정의 삭제
      host : % 이면 모든 컴퓨터에서 현재의 Mysql 서버에 로그인 할 수 있습니다.
             localhost 일 경우는 현재의 컴퓨터에서만 mysql 서버에 로그인 할 수 있습니다.

      mysql -u root mysql
     
      use mysql;

      select host, user, password from user;

      delete from user where host='%' and user='';

      delete from user where host='localhost' and user='';


      ★ root계정이 삭제 된 경우
         현재 컴퓨터에서 로그인 하는 경우: grant all privileges on * to root@localhost identified  by '123';
         모든 컴퓨터에서 로그인 하는 경우: grant all privileges on * to root identified  by '123';  


   2. root 계정 암호화 하기

      update문을 이용한 방법
      - update user set password=password('123') where user='root';
      - flush privileges;

      set password를 이용한 방법(localhost 의 패스워드만 변경됨)
      - set password for root=password('123');

      ※ 패스워드가 적용이 제대로 안되었으면 [관리 도구]-[서비스]를 재 시작하고 다시 쿼리를 실행합니다.

 


   3. root로 다른 지역의 SQL 서버에 접속하기

      use mysqldb;

      CREATE TABLE visitor (
         number     int not null auto_increment primary key,
         title      varchar (50)     NULL ,
         name       varchar (20)     NULL ,
         email      varchar (50)     NULL ,
         visited    int              NULL
      );

      INSERT INTO visitor (title, name, email, visited)
      VALUES('안녕하세요', '누룽지', 'webmaster@nulunggi.pe.kr', 0);

 

    4. 다른 MY-SQL서버에 접속하기

       mysql -h 211.108.242.*** -u root -p mysqldb
      
       select * from visitor;

 


    6. 다른 지역에서 접근 가능한 계정 만들기

       mysql -u root -p mysql
  
       - 어느 컴퓨터나 TCP/IP 접속 가능
       grant all privileges on mysqldb2.* to sky identified  by '1001';  


       - 현재 컴퓨터만 접속 가능
       grant all privileges on mysqldb.* to nulunggi@localhost identified  by '1001';


       - 클라이언트가 지정된 경우, 211.108.242.*** 에서만 로그인 가능한 계정 만들기
       grant all privileges on mysqldb.* to coco@211.108.242.*** identified  by '1001';


       flush privileges;

 


▩ 다른 지역의 리눅스 서버에 있는 mysql에 접속하기
   1. Windows 2000 Server 도스 입력 창에서 telnet 211.108.***.***를 입력하고 작업을 합니다.
   2. mysql -h 211.108.242.***.*** -u nulunggi -p 

 


▩ Windows 2000 Server간에서 mysql에 접속하기
   1. mysql -h 211.108.242.***.*** -u nulunggi -p  

 


▩ 필수 명령어
================

1. select version();

 

2. create database mysqldb;  <- 데이터 베이스 만들기

   show databases;           <- 데이터 베이스 전체 목록보기

 

3. 새로운 사용자 추가 및 권한주기
  
    mysql -u root로 로그인 합니다.

    show databases;          <- 데이터 베이스 전체 목록보기

    use mysql;               <- 사용하는 데이터 베이스 바꾸기

    grant all privileges on mysqldb.* to nulunggi@localhost identified  by '123';  <- 계정추가
                                         계정                               패스워드
    grant all privileges on mysqldb.* to nulunggi identified  by '123';

    flush privileges;

    select host, user, password from user ORDER BY host;  <- 사용자 보기

 

4. 만들어진 계정으로 들어가기

   mysql -u nulunggi -p : 기본데이터베이스를 지정하지 않은 경우

   mysql -u nulunggi -p mysqldb : 기본 데이터베이스를 mysqldb로 지정한 경우

 

5. 테이블 만들기

    use mysqldb;

    show tables;             <- 테이블 목록 보기

    create table memo(
 number  int not null auto_increment primary key,
 wdate   varchar(10) not null,
 subject varchar(80) not null,
 passwd  varchar(10) not null
    );

 

6. insert into memo(wdate, subject, passwd) values('2001-11-17', '안녕하세요, Mysql입니다.', '123');

    select * from memo;

    explain memo;

 


▩ 데이터 타입

1. 숫자형 : tinyint   1 -128 ~ 127
            smallint  2 -32768 ~ 32767      
            mediumint 3 -8388608 ~ 8388607
            int       4 -2147483648 ~ 2147483647
            integer   4
            bigint    8
            float     4 -10^38 ~ 10^38-1
            double    8 -10^308 ~ 10^308-1
            double precision, real, decimal 8


2. 문자형 : char(m)    1~255개의 문자 지정
            varchar(m) 1~255개의 가변 길이 문자 지정
            text       65535개의 문자 지정 가능
            mediumtext 16777215개의 문자 지정
            longtext   4GB의 문자 지정


3. 날짜형 : datetime  8
            date      3
            timestamp(8) yyyymmdd

 


4. auto_increment
    - 칼럼의 타입은 정수형이어야 한다.
    - not null이어야 한다.
    - key 이어야 한다.

    create table bbs(
    num int not null auto_increment primary key,
    title varchar(128) not null,
    content varchar(200) not null
    );

    - 자료 삽입하기
    ① insert into bbs values('안녕하세요.', '반갑습니다.');    # 에러 발생
    ② insert into bbs(title, content) values('안녕하세요.', '반갑습니다.');
    ③ insert into bbs values(100, '안녕하세요.', '반갑습니다.');
    ④ insert into bbs(title, content) values('안녕!!!', '수업입니다.');
    ⑤ insert into bbs values(100, '안녕하세요.', '반갑습니다.');

 

    create table bbs2(
    num int not null auto_increment primary key,
    title varchar(128) not null,
    content varchar(200) not null
    )
  
    auto_increment=100;

 

5. null, not null

    create table bbs3(
    num int not null auto_increment primary key,
    title varchar(128) not null,
    content varchar(200) null
    );

    ① insert into bbs3(title, content) values('안녕하세요.', '반갑습니다.');
    ② insert into bbs3(title) values('안녕하세요.');
    ③ insert into bbs3(title, content) values('안녕하세요.', '');
    ④ insert into bbs3(content) values('반갑습니다.');
    ⑤ insert into bbs3(title, content) values(null, '반갑습니다.');

 


▩ SQL문의 분류
    > DDL : CRATE, DROP, ALTER
    > DML : SELECT, INSERT, UPDATE, DELETE, WHERE, ORDER BY, GROUP BY, HAVING, UNION
    > DCL : Grant 사용자의 권한 정의

 


▩ SQL Gate설치하기

1. http://www.sqlgate.com

 


▩ Eclipse에서 MySQL 환경 설정하기

1. http://www.mysql.com/downloads/api-jdbc-stable.html에 접속하여 드라이버를 다운 받습니다.

 

2. mm.mysql-2.0.6.jar 또는 mm.mysql-2.0.7-bin.jar 파일을 C:\j2sdk1.4.2_02\lib에 복사합니다. 드라이버의 크기는 101KB정도 됩니다.
   Tomcat이 인식 할 수 있도록 C:\Tomcat-4-1\common\lib에도 mm.mysql-2.0.6.jar 파일을 복사합니다.

 

3. CLASSPATH에 C:\j2sdk1.4.2_02\lib\mm.mysql-2.0.6.jar 를 추가합니다.
   - echo %CLASSPATH%

 

4. http://www.geocities.com/uwe_ewald/dbedit.html에 접속하여 DbEdit Plugin 설치하기

 

5. eclipse [Window -- Preference]에서 환경을 설정합니다. 수정할 것이 있으면 수정합니다.

 

6. eclipse [Window -- Customerize Perspective]에서 툴바에 dbedit 출력되도록 합니다.

 

7. [Connection -- Configure]메뉴나 또는 툴바에 있는 Configure SQL Connection Properties 를 선택합니다.

   - common탭에 아래의 정보를 입력합니다.
     . Name: MySQL-mysqldb
     . JDBC Driver: org.gjt.mm.mysql.Driver
     . Server URL:  jdbc:mysql:///mysqldb, jdbc:mysql://localhost:3306/mysqldb, jdbc:mysql://127.0.0.1:3306/mysqldb,
  
   - Classpath 탭에 아래의 정보를 입력합니다. MySQL4의 경우 반드시 2.0.6버전 이상을 설치하기 바랍니다.
     . Classpath: mm.mysql-2.0.6.jar 또는 mm.mysql-2.0.7-bin.jar을 지정합니다.

 


▩ JDBC(Java Database Connectivity)
=====================================

1. JDBC 드라이버 범주
   > 자바 프로그램 - 네이티브 메소드(C 언어로 개발) - 각 데이터베이스 시스템
   > 자바 프로그램 - JDBC - JDBC 드라이버 (각 vender가 개발) - 각 데이터베이스 시스템
                            (thin, jk, mm Driver)
   > 자바 프로그램 - JDBC - JDBC/ODBC브릿지 - ODBC드라이버(각 vender가 제공) - 각 데이터베이스 시스템


2. JDBC 드라이버 연결 방법
   > 직접 연결: 새로운 JDBC 드라이버를 개발하여 연결
   > JDBC 드라이버를 이용하여 연결 : thin-Oracle, jk-MSSQL, mm-MySQL
   > ODBC를 이용한 연결
   > ODBC의 사용 : javamssqlODBC 만들기 , [관리 도구]-[데이터 원본]-[System DSN]


3. 데이터베이스 접속 구현 순서
   DriverManager --> Connection  --> Statement --> ResultSet
   (OLEDB        --> ADODB.Connection          --> Recordset)

   DriverManager ┌--> Connection1 ┌--> Statement1 --> ResultSet1
                 │                ├--> Statement2 --> ResultSet2
                 │                └--> preparedStatement --> ResultSet3
                 │             
                 └--> Connection2 ┌--> Statement1 --> ResultSet1
                                   ├--> Statement2 --> ResultSet2
                                   └--> preparedStatement --> ResultSet3

 

 

▩ MySQL 방명록 만들기

1. 데이터베이스 셋팅

mysql -u root mysql

use mysql;

create database mysqldb;
grant all privileges on mysqldb.* to nulunggi identified  by '123'; 
flush privileges;
grant all privileges on mysqldb.* to nulunggi@localhost identified  by '123'; 
flush privileges;

select host, user, password from user;

mysql -u nulunggi -p mysqldb

drop table visit;

create table visit(
 num      int not null auto_increment primary key,
 wname   varchar(30)   not null,
 wcontent text not null,
 reg_date date,
 password varchar(10)
 );

 

- 자료실 299번 참고
- URL: http://127.0.0.1:8080/jvisit/list.jsp


2. 웹서버 셋팅
   Resin/conf/resin.conf, Tomcat/conf/server.xml 수정

    <web-app id='examples/templates'>
      <servlet-mapping url-pattern='/servlet/*' servlet-name='invoker'/>
      <servlet-mapping url-pattern='/GuestJsp' servlet-name='GuestJsp'/>
      <servlet-mapping url-pattern='/GuestXtp' servlet-name='GuestXtp'/>
      <servlet-mapping url-pattern='/RSS' servlet-name='jsp.RSS'/>

      <servlet servlet-name='GuestJsp' servlet-class='jsp.GuestJsp'/>
      <servlet servlet-name='GuestXtp' servlet-class='jsp.GuestXtp'/>
    </web-app>

    <web-app id='/examples/login'/>
    <web-app id='/jvisit_100_mysql'/>
  </host>

 

3. 데이터베이스 접속 모듈, 한글 처리 방법
<%
String dburl = "jdbc:mysql://127.0.0.1:3306/mysqldb?useUnicode=true&characterEncoding=euc-kr";
String dbuser="nulunggi";
String dbpass="123";

Connection conn = null;
PreparedStatement pstmt = null;

try{
 Class.forName("org.gjt.mm.mysql.Driver");
 conn = DriverManager.getConnection(dburl, dbuser, dbpass);
}catch(SQLException e){
 System.out.println("데이터베이스 접속에 실패 했습니다.");
}
%>

 

4. [File -- New -- Tomcat Project] 에서 visit 폴더를 Tomcat의 webapps 폴더에 생성하고 지정합니다.

 

5. [File -- New -- Lomboz JSP Wizard] 에서 파밍명으로 write를 입력하고 한글코드는 EUC-KR로 지정합니다.

 

6. conf폴더에서 server.xml을 수정합니다.
  <Context path="/jvisit" reloadable="true" debug="0" docBase="D:/Tomcat-4-1/webapps/jvisit_100_mysql" />

 

7. write.jsp: 방명록 쓰기, DreamWeaver와 연동 작업하기

 

8. write_ok.jsp: 방명록 글쓴 내용 처리

 

9. list.jsp: 방명록 목록 출력

[출처]  민주가인

"쇼핑몰·홈페이지·오픈마켓
블로그·페이스북·이메일 등의 각종 마케팅 글쓰기,
각종 광고, 영업, 판매, 제안서, 전단지
반응율 3배×10배 이상 높이는 마법의 8단계 공식"
자세히보기

Comments

번호 제목 글쓴이 날짜 조회
2805 Window Server 2003을 사용해 보자 M 최고의하루 12.20 2494
2804 Windows Server 2003 에서 IIS 6 + PHP 4.3.2 설정법 M 최고의하루 12.19 3959
2803 Windows Server 2003 완벽 재설치 M 최고의하루 12.19 3117
2802 SERVER 2003 섬네일(GD2) 기능 적용하기 M 최고의하루 12.18 2335
2801 윈도우2003 서버 SP1 환경에서 IIS에 php 설치 하기 M 최고의하루 12.18 2958
2800 PHP 4.4.3-dev, Zend 2.6.0, MySQL 4.0.26 버전 설치정보 M 최고의하루 12.04 2681
2799 Windows 2003 Server 설치 및 최적화 팁 모음 M 최고의하루 12.04 3242
2798 우편번호,주소 db 13 김영철 01.29 2366
2797 my-sql 을 좀 쉽게 다룰수 있는 프로그램입니다 13 김영철 01.29 2765
2796 Mysql 기본 사용법 13 김영철 01.29 2992
2795 mssql mysql 변환, asp 게시판 소스 수정 13 김영철 01.29 4832
2794 mysql함수 13 김영철 01.29 2628
2793 mySQL에서의 트랜잭션 13 김영철 01.29 2436
2792 백업 및 복구 - 첫번째 13 김영철 01.29 2486
2791 백업 및 복구 - 두번째 13 김영철 01.29 2409
2790 사용자 및 권한 설정 13 김영철 01.29 2075
2789 [mysqld] Column Type => Timestamp 설정 13 김영철 01.29 2427
열람중 MySQL, SQL문의 분류, Eclipse 셋팅, JDBC, 방명록 13 김영철 01.29 4121
2787 UNION 과 JOIN 의 차이점 13 김영철 01.29 2384
2786 mysql 한글 깨짐 13 김영철 01.29 3662
2785 Mysql 5.xxx 데몬 시작 및 중지 13 김영철 01.29 2588
2784 Mysql-5.0.37 설치 및 한글처리문제 13 김영철 01.29 2887
2783 윈도우 환경에서의 Mysql5 설치 및 설정방법 13 김영철 01.29 3232
2782 php5, mysql5.0 설치 13 김영철 01.29 2652
2781 mysql characterset 변경 13 김영철 01.29 2404
2780 Mysql 함수 총집합 13 김영철 01.29 3266
2779 Mysql 문자열 관련 함수 13 김영철 01.29 2734
2778 mysql 컬럼값 문자열 치환 - REPLACE() 13 김영철 01.29 2749
2777 Mysql 백업 하기 13 김영철 01.29 3129
2776 mysql 복구 13 김영철 01.29 2838
마케팅
특별 마케팅자료
다운로드 마케팅자료
창업,경영
기획,카피,상품전략
동기부여,성취