0. mySQL 공식사이트 다운로드
   > http://dev.mysql.com/downloads/mirror.php?id=404333#mirrors

미러링 사이트는 많지만 상단에 추천해주는 HTTP/FTP 모두 다운로드 가능하다.

1. MySQL 프러덕트 설치 를 클릭한다.


2. 라이선스 동의하시고 넥스트!


3. 최선버전 있는지 권장한다는 군요. '실행'버튼 누르세요.


4. 최신버전 확인이 끝났다고 합니다.


5. 오라클 사에서 제공하는 MySQL 클라이언트는 쓰기가 조금 불편합니다.
SQL 커넥터도 필요할 때 별도 설치할 수 있습니다.
서버만 설치하세요.


6. 서버만 설치한다고 한번 더 확인합니다.


7. 개발서버가 별도로 없으므로 개발자머신을 선택합니다.
두번째 항목은 다른 서버어플리케이션이 함께 운영할 때 선택하는 것입니다.
세번째 항목은 해당 머신이 오직 mySQL 만을 서비스할 때 선택합니다.
이것은 SQL서버의 메모리에 대한 할당을 조절하기 위한 것으로 봅니다.


8. 로컬에 테스트용으로 설치하므로 기본 포트 3306을 사용합니다.
윈도우즈 서비스에서 확인할 서비스명을 적어줍니다.
특별한 관리가 필요없다면 디폴트로 사용합니다.
mySQL 루트 암호를 압력하고 다음으로 갑니다.


9. 프로그래스바가 진행되더니 구성(configration)이 완료되었다고 합니다.
아래 firewall rule 이 실패되었다고 하는데... 걍 무시했습니다.
다음으로 넘어가세요.


10. 로그를 보고 싶으면 버튼 누르시고 사용하시는 편집기에 붙여넣기 해보세요.
 ... 별 볼일 없을 겁니다.


11. 윈도우즈 서비스에서 mySQL이 잘 돌고 있는지 확인하려면 
컴퓨터 관리에서 서비스 항목을 보면 된다.
   a. '서비스 및 응용프로그램'을 확장한다.
   


   b. '서비스' 항목을 선택한다.
   


   c. 'MySQL55' 를 찾아 볼 수 있을 것이다.

   


이것으로 마치겠습니다.
감사합니다.

Posted by bestrok
,

Alter Table

IT/데이터베이스 2011. 11. 21. 09:41
0. 선언

   - 테이블명 : USER

1. USER테이블에 email 이라는 컬럼을 추가하는데, 자료형은 char(1)으로 하려면

   > ALTER TABLE USER ADD column email varchar(40) ;

2. USER 테이블의 email 컬럼의 사이즈를 50으로 늘리려면 (기존 사이즈는 40)

   > alter table USER modify column email varchar(50);




Posted by bestrok
,

사용 중 ORA-01460 발생 시

우측 하단의 Force OCI7 mode on OCI8 를 체크하면 유니코드를 처리할 수 있나보다.

이걸 못 찾아서 한참을 헤맸다.

Posted by bestrok
,

테이블명 : PR_CCODE_1

조건절 인수 : code0 , code1

반환값 : code1name

 

##############################################3

 

CREATE OR REPLACE FUNCTION getCode1Name(
        code0 IN      PR_CCODE_1.CODE0%TYPE,
        code1 IN      PR_CCODE_1.CODE1%TYPE
        )
RETURN varchar2
IS
        code1name       PR_CCODE_1.CODE1NAME%TYPE;
BEGIN
        SELECT code1name
               into code1name
               FROM PR_CCODE_1
               WHERE code0 = code0
               and code1 = code1;
        RETURN code1name;

END;

Posted by bestrok
,

1. tools > loader 를 클릭하면 DBMS 로그인을 한다.

  ==> DBMS 에 로그인 해야 하는 이유는 어디에 붙일 것이냐? 즉 TARGET을 잡기 위함이다.

 

2. 우선 스키마가 자동으로 선택이 되었고, 해당 DB명에 대한 테이블 리스트를 찾을 수 있을 것이다.

  ==> 즉 어떤 테이블에 넣을 것이냐를 선택하는 것이다.

  ==> 선택하고 나면 우측에 테이블 명세 리스트가 보일 것이다.

 

3. Data File 이라는 컨트롤 에서 찾아보기 버튼을 클릭하면 파일을 찾는 팝업이 나타날 것이다.

  ==> 원본이 되는 엑셀파일을 하나 찾는다.

  ==> 하단에 엑셀 로우데이터가 15라인 보여진다.

 

4. File Column 버튼을 클릭하여 컬럼 순서와 컬럼 수가 맞는지 확인 한다. (옵션)

 

5. Action > Run을 실행한다.

 

[주의사항]

1. 엑셀 데이터 중에 특정 컬럼이 날짜 형식이 있을 경우, 오랜지에서 로드 시, 그대로 날짜 형식으로 보여지는 것이 아닌 계산?되어 보여질 수 있으며, 자료형이 맞지 않다고 로딩 실패 할 수 있다.

 

  ==> 이 경우에는 엑셀파일에서 미리 해당 날짜 타입의 데이터만 스트링으로 바꿔주는 것이 좋다.

  ==> 대부분 전체를 스트링(텍스트)로 바꿔주는 것도 연속된 오류를 방지하는 방법중에 하나이다.

 

[참고사항]

3.0.* 버젼에서는 날짜데이터 등의 자동변환이 잘 되지 않았으나 3.1 버젼으로 패치하고 나서 잘 되었다.

Posted by bestrok
,

서비스 접근 트래픽이 많을 경우,
아래와 같이 디비커넥션 수를 늘려서 서비스 장애를 피한다.
    shell> mysql –uroot –p[암호] [DB명]

   mysql> SET GLOBAL max_connections = 2000;
   mysql> exit




Posted by bestrok
,

* dump 백업
   shell>mysqldump -u[사용자아이디] -p[암호] [옵션] [디비명] > [파일명]

* dump 복원(restore)
   shell>mysqldump -u [사용자아이디] -p [암호] [옵션] [디비명] < [파일명]

* [옵션설명] 예

   --default-character-set=euckr
   --default-character-set=utf8
Posted by bestrok
,
Replication 정상인지 확인하기
mySQL slave로 접속해서

    mysql > show slave status \G;
        .......
        Read_Master_Log_Pos:    49093278
        .......
        Relay_Log_Pos:        49093278
        .......

        Slave_IO_Running: Yes
        Slave_SQL_Running: Yes
        .......
        Exec_Master_Log_Pos:    49093278

        * Slave_IO_Running 과 Slave_SQL_Running 은 반드시 Yes 이어야 한다.

        * Read_Master_Log_Pos와 Exec_Master_Log_Pos는 일치해야함.
Posted by bestrok
,

* 테이블의 데이터를 한번에 지우기
   -------------------------------
   sql> truncate table [테이블명];
   -------------------------------

* 조회쿼리 결과를 CSV파일로 저장하기

   sql> SELECT [원하는 컬럼명] INTO OUTFILE [경로+파일명]
           [옵션]
          FROM [테이블명] [WHERE 절]

   sql> SELECT email INTO OUTFILE "/tmp/test.csv"
           FIELDS TERMINATED BY ','
           FROM USER where areyoudog='N' and areyouShit='N'


* CSV 파일을 특정테이블에 적재하기

   sql>  LOAD DATA INFILE [경로+CSV파일명] INTO [테이블명] ....... 옵션들

   sql> LOAD DATA INFILE "/tmp/test.csv" INTO TABLE TEMP_TABLE
          FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY ''
          LINES TERMINATED BY '\n';



Posted by bestrok
,

Microsoft OLE DB Provider for SQL Server error '80040e14'

'XXXXX' 데이터베이스의 로그 파일이 꽉 찼습니다. 데이터베이스의 트랜잭션 로그를 백업하여 사용 가능한 일부 로그 공간을 확보하십시오.

/xxxxx.asp, line 102

 

#######################################3

 

해결책

1. DBMS 관리툴을 연다. (EM 및 SQL서버 관리 스튜디오 익스프레스를 열어도 된다.)

 

2. 해당 디비의 속성을 오른클릭으로 연다.

 

3. 페이지선택에서 "파일"을 선택하면 우측에 XXX_Data와 XXXX_Log가 나온다.

 

4. 여기서 로그 부분의 처음크기를 늘리면 된다.

 

5. 만약 자동증가 부분에서 "제한된파일증가" 부분이 처음크기보다 작아도 문제가 되는 듯 한다.

Posted by bestrok
,