BLOG ARTICLE mysql | 5 ARTICLE FOUND

  1. 2008.02.28 자주 사용하는 MySQL 명령어 (4)
  2. 2007.12.27 OS X APM 설치툴 - MAMP (6)
  3. 2007.11.13 Cocoa에서 MySQL 라이브러리 사용하기 (6)
  4. 2007.10.19 OS X용 MySQL 클라이언트 - CocoaMySQL (8)
  5. 2007.10.12 OS X에 MySQL 설치 (4)

중요도나 용도에 상관없이 제가 자주 사용하는 MySQL의 툴과 명령어를 정리해 보았습니다. 개인적인 참조로 쓰기 위한 것이므로 자세한 설명은 생략하였습니다. 자세한 내용은 한국 MySQL의 메뉴얼 페이지를 참조하세요. OS X에서 mysql 설치는 제 이전 포스트를 확인하시면 됩니다

* 데몬 시작
> mysqld_safe --user=[아이디] &

* 종료
> mysqladmin -u [아이디] -p[패스워드] shutdown

* 재실행
> mysqladmin -u [아이디] -p[패스워드] reload

* 계정 추가
localhost가 %일 경우 모든 IP에서의 접근을 허용합니다.
mysql> grant all privileges on [database].* to [아이디]@"localhost" identified by "[패스워드]"

* 패스워드 변경
mysql> SET PASSWORD FOR [아이디]@localhost=PASSWORD('[패스워드]')  

* 테이블 필드 변경
명령어별 옵션은 아래와 같습니다.
  • add : add [기존필드] [타입] after [필드]
  • change : change [변경될 필드]  [새로운 필드명] [타입]
  • drop : drop [삭제될 필드]

mysql> ALTER TABLE [테이블 명] (add | change | drop) ...

* 데이터 백업
데이터 백업 시 아래와 같이 사용합니다. 테이블 명을 생략하면 database의 전체 테이블을 백업합니다. 자주 쓰이는 옵션은 아래와 같습니다.
  • -d:  테이블 생성 정보만 백업
  • -f: 데이터만 백업

> mysqldump -u [아이디] -p[패스워드] [database] [테이블 명] > [파일명]

* 테이블 검사
mysql>CHECK TABLE [테이블 명]

* 테이블 복구
mysql>REPAIR TABLE [테이블 명]

repair로 고쳐지지 않는 다면 쉘에서 아래와 같이 시도합니다.
> myisamchk -safe-recover [mysql data path]/[테이블 명]

* 바이너리 로그
MySQL은 select와 같은 데이터에 변동이 없는 내역을 제외하고 data 디렉토리에 바이너리 로그로 저장합니다. 아래와 같이 mysqlbinlog로 텍스트화 된 내용을 확인할 수 있으며, 변경된 내역을 가지고 있기 때문에 데이터 복구시에도 사용할 수 있습니다.
> mysqlbinlog [로그파일 명]

* 파일로 저장
mysql>SELECT * INTO OUTFILE "[filename]" FROM [테이블 명];

엑셀에서 사용하기 위해 CSV(Comma Separated Value) 포맷으로 저장할 경우에는 아래와 같이 사용합니다.
mysql>SELECT * INTO OUTFILE "[filename]" FIELDS TERMINATED BY ',' FROM [테이블 명];

* CSV 파일 로드
LOAD DATA LOCAL INFILE "[CSV 파일패스]" INTO TABLE [테이블명] FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';
"로 필드가 구분되었을 경우에는 ENCLOSED BY '\"'를 추가합니다.

* 테이블 최적화
mysql>OPTIMIZE TABLE [테이블 명]

* mysqladmin
서버의 상태를 감시하고 동작을 제어 합니다. 명령어들은 아래와 같습니다.
  • ping : 서버가 실행중인지 확인합니다.
  • status: 현재 서버의 상태를 출력합니다.
  • processlist: 실행중인 쓰레드의 정보를 출력합니다.
  • kill [Id]: 특정 쓰레드를 종료합니다.
  • variables: mysql 환경변수 값을 출력합니다.

> mysqladmin -u [아이디] -p[패스워드] 명령

* 쉘에서 UTF8
character_set_client가 latin1로 되어 있으면 mysql 쉘에서 한글이 깨어져 나오는 경우가 있습니다. 아래와 같이 현재 문자셋을 알아 봅니다.
mysql> show variables like '%char%';

character_set_client이 utf8로 되어 있지 않을 경우에는 my.cnf 파일에서 아래와 같이 설정합니다.
[mysql]
default-character-set = utf8

'기타 > 자잘한 Tip' 카테고리의 다른 글

Xcode에서의 Ruby on Rails  (8) 2008.08.20
Dashcode로 올블로그 RSS 위젯 만들기  (2) 2008.05.22
자주 사용하는 MySQL 명령어  (4) 2008.02.28
flex2 - xml을 이용한 동적 메뉴 예제  (0) 2008.02.01
PHP에서 RSS 가져오기  (0) 2007.12.08
OS X에 MySQL 설치  (4) 2007.10.12
모든 댓글을 환영합니다. (욕설과 광고는 삭제합니다.)
  1. 이욱정 2008.04.01 14:56  댓글주소  수정/삭제  댓글쓰기

    phpMyAdmin에서는 한글이 잘 나오는데 유독 쉘에서 한글이 깨져서 왜 그런가 했더니 바로 저 문제였군요.
    mysql 초보자인데 my.conf 파일이 어디에 위치해 있는지 알려주시면 감사하겠습니다.

    참고로, 타이거에서 레오파드로 업그레이드해서 쓰고 있고 mysql5는 인스톨 프로그램으로 설치했습니다.
    검색을 해보니 /etc에 있다고 하는데 제 컴퓨터에는 없군요 ㅠㅠ

    • Favicon of https://www.cocoadev.co.kr BlogIcon cocoadev 2008.04.01 17:34 신고  댓글주소  수정/삭제

      mysql이 설치된 디렉토리 밑에 support-files란 디렉토리에 보시면 my-*.cnf란 파일들이 있습니다. 메모리 용량에 따라 적당한 파일을 선택하셔서 /etc밑에 my.cnf로 복사한 후에 위의 한글설정을 입력하고 저장합니다. 그 후에 mysql을 재기동하면 될것 같습니다.

      맥에선 별다른 설정없이 한글사용에 이상이 없는 것으로 아는데요. 제 블로그에서 '터미널에서 한글'로 검색해 보시면 관련된 내용이 있습니다.

      방문해 주셔서 감사 드리고 도움이 되셨기를 바랍니다. :)

      추가: 제가 my.cnf인데 my.conf로 해놓았네요. 죄송합니다. 다시 수정해 놓았습니다.

  2. 이욱정 2008.04.02 02:42  댓글주소  수정/삭제  댓글쓰기

    말씀하신 대로 해보니 잘되는군요. ^^ 감사합니다.



윈도우의 APM_Setup처럼 OS X에서 APM(Apache+PHP+MySQL)을 간편하고 빠르게 설치해주는 툴입니다. MAMP 사이트에서는 다운로드가 되지 않아 소스포지에서 다운로드 받았습니다.

사용자 삽입 이미지
다운로드 받은 후에 dmg  파일을 클릭하면 좌측과 같이 원하는 제품을 어플리케이션 폴더로 드래그하는 것만으로 모든 설치가 완료됩니다.

MAMP Pro는 상용버전(61달러)으로 사용제한이 없고 기능이 추가된 제품입니다. 저는 무료인 MAMP를 설치하였습니다.

삭제도 매우 간단하여 어플리케이션에서 해당 폴더만 삭제하면 됩니다.

아파치와 MySQL포트가 다른 포트로 지정되어 있어, 저는 일반적으로 사용하는 80과 3306으로 변경하였습니다.

사용자 삽입 이미지

제가 다운로드 받은 MAMP 1.6 버젼에서는 아파치 2.0.59, PHP 5.21, MySQL 5.0.37이 설치되며 PHP는 PHP4로도 선택할 수 있습니다. 또한 아래와 같이 phpMyAdminSQLiteManager가 기본으로 설치되어 있습니다.

사용자 삽입 이미지

OS X는 리눅스(또는 유닉스)기반의 웹개발용 OS로는 매우 편리한 환경 같습니다.
모든 댓글을 환영합니다. (욕설과 광고는 삭제합니다.)
  1. Favicon of http://taizyeris.tistory.com BlogIcon ERIS 2008.01.26 03:45  댓글주소  수정/삭제  댓글쓰기

    좋은 정보 감사합니다. ^^

  2. Favicon of http://blog.naver.com/naiyumie.do BlogIcon naiyumie 2008.03.14 21:43  댓글주소  수정/삭제  댓글쓰기

    오호 저도 맥북 사용자입니다...^^
    혹시 잠자기 상태에서도 서버가 운영되는지 알고싶네요^^

  3. dukecherry 2009.02.13 15:51  댓글주소  수정/삭제  댓글쓰기

    맥북프로에 설치했는데, 제로보드를 설치해보려 하는데, 어찌해야 하는지 도움말 좀 주시면 고맙겠습니다.

    • Favicon of https://www.cocoadev.co.kr BlogIcon cocoadev 2009.02.13 16:53 신고  댓글주소  수정/삭제

      아파치 설정파일에서 DocumentRoot를 제로보드의 압축을 푼 폴더의 전 폴더로 수정해주시고, 아파치를 restart 하신 후에 설치하시면 될 것 같은데요. 제로보드 사이트에서 메뉴얼이나 관련글들을 참고 하시면 좋을 것 같습니다.



코아에서 MySQL C Library를 이용하는 예입니다. wrapper 클래스를 작성하여 MySQL
서버에 접속해서 데이터를 가져오는 간단한 샘플 코드를 작성해 보겠습니다.

OS X에서 MySQL 설치 및 설정은 이전 포스트를 참고해 하세요.


1. MySQL에서 작업

1) MySQL 서버 확인
테스트를 위하여 테이블을 생성하고 데이터를 넣어 보겠습니다. 우선 시스템 환경설정의 MySQL 항목에서 아래와 같이 서버가 기동중인지 확인 합니다. 서버가 실행되지 않고 있으면 Start 버튼을 클릭하여 아래와 같이 실행 상태로 만듭니다.
사용자 삽입 이미지

2) 테이블 생성 및 데이터 입력
그 다음 아래와 같이 터미널에서  MySQL에 로그인 후에 member 테이블을 생성하고 데이터를 넣습니다. 저는 이전에 test/1111로 계정을 만들고 cocoadev란 데이터베이스를 만들어 두었기에 아래와 같이 접속하였습니다.
사용자 삽입 이미지

id, name 두개의 필드를 가진 member란 테이블을 생성하고, 테스트를 위해 1, cocoa 값으로 데이터를 입력합니다.

2. 소스코드 작성
Xcode를 실행하고 프로젝트를 생성합니다. 저는 최대한 간단하게 만들기 위해 프로젝트 타입을 Command Line Utility의 Foundation Tool로 선택하고 프로젝트를 생성하였습니다.

Wrapper 클래스 작성을 위하여 새 파일에서 Objective C class 타입으로 MySqlDB 클랙스를 생성합니다. 이제 MySqlDB.h 파일과 MySqlDB.m 파일을 작성합니다.

테스트를 위하여 연결 및 쿼리등 필요한 메소드만 작성해 보겠습니다. mysql.h 파일을 참고 하시면 MySQL 라이브러리에서 제공하는 많은 함수들을 확인하실 수 있습니다.

1) MySqlDB.h 편집
#import <Cocoa/Cocoa.h>
#import "mysql.h"

@interface MySqlDB : NSObject {

    bool isConnected;
    int rowCount;
   
    MYSQL mySQL;
    MYSQL *pMySQL;
   
    MYSQL_RES* pRes;
    MYSQL_ROW Rows;
}

-(id) initWithServer: (const char*) host
             loginID: (const char*) userid
         loginPasswd: (const char*) passwd
               setDB: (const char*) database;

-(bool) connect : (const char*) host
         loginID: (const char*) userid
     loginPasswd: (const char*) passwd
           setDB: (const char*) database;

-(bool) query :(const char*) str;
-(bool) getRows;
-(bool) getStringData: (int)idx toBuffer: (char *) buff;

-(bool) isConnected;
-(int) rowCount;

@end

2) MySqlDB.m 파일 편집
#import "MySqlDB.h"


@implementation MySqlDB

-(id) initWithServer: (const char*) host
             loginID: (const char*) userid
         loginPasswd: (const char*) passwd
               setDB: (const char*) database
{   
    self = [super init];
   
    [self connect: host
          loginID: userid
      loginPasswd: passwd
            setDB: database];
               
    return self;
}

- (void)dealloc
{
    if(pMySQL)
        mysql_close(pMySQL);
   
    [super dealloc];
}

-(bool) connect : (const char*) host
         loginID: (const char*) userid
     loginPasswd: (const char*) passwd
           setDB: (const char*) database
{
    isConnected = FALSE;
   
    pMySQL = mysql_init(&mySQL);
    if(pMySQL == NULL)
    {
        return FALSE;
    }
   
    pMySQL = mysql_real_connect(&mySQL, host, userid, passwd, database, 0, 0, 0);
    if(pMySQL == NULL)
    {
        return FALSE;
    }
   
    isConnected = TRUE;
   
    return TRUE;
}

-(bool) query: (const char*) str
{
    if(!pMySQL)
        return FALSE;
   
    int ret = mysql_query(pMySQL, str);
    if(ret != 0)
    {
        return FALSE;
    }
   
    pRes = mysql_store_result(pMySQL);
    rowCount = mysql_num_rows(pRes);
   
    NSLog(@"rows:%d", rowCount);
    return TRUE;
}

-(bool) getStringData: (int)idx toBuffer: (char *) buff;
{
    if(Rows[idx] == NULL)
        return FALSE;
   
    strcpy(buff, Rows[idx]);
    return TRUE;
}

-(bool) getRows
{
    Rows = mysql_fetch_row(pRes);
   
    if(Rows == NULL)
        return FALSE;

    return TRUE;
}

-(bool) isConnected
{
    return isConnected;
}

-(int) rowCount
{
    return rowCount;
}

@end

3) MyTest.m 편집
이제 테스트를 위하여 위에 작성된 클래스를 사용하여 MySQL서버에 접속하여 데이터를 가져오도록  MyTest.m 파일에 소스를 추가해 보겠습니다. 연결시 로그인 정보와 데이터 베이스, 쿼리 내용은 자신의 환경에 맞게 변경해 줍니다.

#import <Foundation/Foundation.h>
#import "MySqlDB.h"

int main (int argc, const char * argv[]) {
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

    // insert code here...
    MySqlDB* myDB = [[MySqlDB alloc] initWithServer:"localhost"
                                            loginID:"test"
                                        loginPasswd:"1111"
                                              setDB:"cocoadev"];
   
    if([myDB isConnected] == true)
    {
        if([myDB query :"SELECT * FROM member"])
        {
            char buff1[128];
            char buff2[128];
           
            [myDB getRows];
            [myDB getStringData: 0 toBuffer: buff1];
            [myDB getStringData: 1 toBuffer: buff2];
           
            NSLog(@"DATA: id=%s, name=%s", buff1, buff2);
        }
        else
            NSLog(@"Fail to query");
    }
    else
        NSLog(@"Fail to connect.");
   
    [myDB release]
    [pool release];
    return 0;
}


3. 빌드옵션 설정 및 라이브러리 등록

MySQL 라이브러리를 사용하기 위해서는 링크시에 라이브러리를 추가하도록 등록하고, 헤더파일을 인크루드하기 위해 위치를 지정해 주어야 합니다.

GCC 옵션에서 -I(인클루드 패스 지정), -L(라이브러리 패스 지정), -l(라이브러리 추가) 옵션을 생각하시면 됩니다.

1) include 패스 설정
빌드시 헤더파일을 찾을 수 있도록 링크를 설정합니다. 프로젝트 정보창을 오픈합니다. Build 항목에서 "User Header Search Path"에 mysql의 include 패스를 입력합니다. 대부분 /usr/local/mysql에 설치되는데 다른 곳에 설치하신 분들은 그 곳의 패스를 입력합니다.
사용자 삽입 이미지

2. libmysqlclient.a 라이브러리 링크
사용자 삽입 이미지
파인더에서 해당 디렉토리에 접근하기 힘들기 때문에 터미널에서
 > open /usr/local/mysql/lib 로 파인더를 오픈합니다.

libmysqlclient.a 파일을 드래그 하여 좌측과 같이 Xcode의 Frameworks 그룹으로 가지고 옵니다.




이제 모든 준비가 완료되었습니다. 빌드 후 실행하여 아래와 같은 결과를 확인합니다.
사용자 삽입 이미지

코코아에서 MySQL 라이브러리를 사용하여 MySQL에 연결하는 방법을 간단히 알아 보았습니다. PostgreSQL이나 다른  C 라이브러리들도 위와 같은 방법으로 코코아에서 사용하실 수 있습니다.

티스토리 블로그 알리미를 작성한 적이 있는데, 설치형 블로그들은 위와 같이 DB에 직접 쿼리하는 방법으로 더욱 쉽고, 다용하고, 정확한 정보를 가져오는 툴을 작성할 수 있을 것 같습니다.

'Xcode 2 > Tip' 카테고리의 다른 글

Xcode에서 파이어폭스 플러그인 컴파일 하기  (0) 2007.12.04
pipe를 이용한 간단한 프로세스간의 통신  (6) 2007.11.28
Cocoa에서 MySQL 라이브러리 사용하기  (6) 2007.11.13
Xcode에 Subversion 적용하기  (6) 2007.11.10
Xcode 단축키  (2) 2007.10.26
#pragma mark  (2) 2007.08.04
모든 댓글을 환영합니다. (욕설과 광고는 삭제합니다.)
  1. 차칸아이 2009.06.09 18:50  댓글주소  수정/삭제  댓글쓰기

    안녕하세요. 제가 이걸보고 따라했는데요.
    에뮬에서 돌릴때는 잘되는데 iPod-Touch에 올려서 하려니 에러가 나는데 왜인지 알수 있을까요?

    "_mysql_store_result", referenced from:
    -[MySqlDB query:] in MySqlDB.o
    "_mysql_fetch_row", referenced from:
    -[MySqlDB getRows] in MySqlDB.o
    "_mysql_close", referenced from:
    -[MySqlDB dealloc] in MySqlDB.o
    "_mysql_init", referenced from:
    -[MySqlDB connect:loginID:loginPasswd:setDB:] in MySqlDB.o
    "_mysql_real_connect", referenced from:
    -[MySqlDB connect:loginID:loginPasswd:setDB:] in MySqlDB.o
    "_mysql_num_rows", referenced from:
    -[MySqlDB query:] in MySqlDB.o
    "_mysql_query", referenced from:
    -[MySqlDB query:] in MySqlDB.o

    이런 메시지가 나오는데 이유를 모르겠어요.

    • Favicon of https://www.cocoadev.co.kr BlogIcon cocoadev 2009.06.09 23:11 신고  댓글주소  수정/삭제

      이 예제는 아이폰이 나오기전 맥용 예제입니다. 아이폰에는 mysql 서버와 공유라이브러리가 없기 때문에 sqlite3등의 db를 사용하셔야 할 것 같습니다.

      이외에도 NSXMLDocument와 같은 클래스들도 컴파일이 되고 시뮬레이터에서는 실행되지만 막상 기기에선 같은 이유로 실행이 안되는 경우들이 있습니다.

  2. 차칸아이 2009.06.10 09:15  댓글주소  수정/삭제  댓글쓰기

    정말 감사합니다. sqlite3안쓰려고 했는데 결국 써야 겠네요....
    cocoadev님 아니였으면 계속 해보려고 시간 낭비 했을꺼 같아요...

    • Favicon of https://www.cocoadev.co.kr BlogIcon cocoadev 2009.06.10 14:16 신고  댓글주소  수정/삭제

      제 글이 오히려 혼란을 드린 것 같아 죄송하네요. 아이폰 어플에선 sqlite3 더 어울리는 것 같기는 합니다. 그럼 좋은 성과 있으시고요. :)

  3. 아이폰앱러버 2011.02.04 14:17  댓글주소  수정/삭제  댓글쓰기

    흠...차칸아이님 근데 그게 왜 에뮬할때만 괜찮은지는 모르겠는데, 저도 같은 에러가 생기거든요. 이유는 보니깐 일단 libmysqlclient.a를 추가하면 그 오류들이 없어지긴하는데, 다른 오류가 생기네요...
    디버그 콘솔창에는 dyld: Library not loaded : libmysqlclient.16.dylib 이러면서 오류나고, 제일 밑에 상태 표시줄에 이런메세지가있네요.
    GDB: Data Formatters temporarily unavailable, will re-try after a 'continue'.(Cannot call into the loader at present, it is locked)

    어떻게 방법이 있을까요?ㅠㅠ

  4. 아이폰앱러버 2011.02.04 14:18  댓글주소  수정/삭제  댓글쓰기

    참 그리고 프레임워크에 libmysqlclient.16.dylib를 추가해도 소용이 없네요 ㅠㅠ



사용자 삽입 이미지
OS X에서 사용할 수 있는 MySQL 클라이언트 입니다. 프리(도네이션)웨어이지만 기본기능은 충실하게 가지고 있습니다. 다만 아쉬운 것은 오래전부터 0.7베타에서 더이상 버젼이 올라가지 않고 있습니다.

프로그램은 홈페이지에서 다운로드 받으실 수 있습니다.

1. 환경설정
사용자 삽입 이미지
다운로드 받으신 후 실행한 다음 메뉴의  Prefrences를 실행하면 프로그램의 환경을 설정할 수 있습니다. 우측의 Favorites 하단에 있는 추가버튼을 클릭하여 아래와 같이 접속할 MySQL 계정을 설정합니다.

이름, 접속할 서버, 사용자 계정을 입력합니다. 저는 이전 MySQL 설치 포스트에 있는 계정 그대로 "local_test"란 이름으로 설정하였습니다.

여기서 저장해 놓은 접속계정으로 이후 간편하게 접속할 수 있습니다.

이전에 원격서버의 MySQL 4.2 버젼대인가에서도 사용해 보았으니, 원격서버도 아이피 또는 도메인만 입력하시면 무난히 사용하실 수 있을 것 입니다.


2. 기본 UI

위에 설정한 계정으로 접속하면 아래와 같은 화면을 보실 수 있습니다. 저는 먼저 name과 phone 필드를 가진 test란 테이블을 생성하였습니다.
사용자 삽입 이미지

1) 상단 메뉴

상단의 툴바에는 로그창을 보여주는 [Show Console], 로그 내용을 삭제하는 [Clear Console] 버튼이 있습니다.  [Show Variables]는  현재 기동되어 있는 MySQL 서버의 각종 변수들을 확인할 수 있습니다.

[Flush Privileges]는 사용해 보지는 못했지만 사용자 정보 변경 시 적용시켜 주는 flush privileges;를 실행해 주는 것 같습니다.

[Table Operations]는 테이블 검사, 옵티마이즈, 리페어등의 기능을 제공합니다.

[Create Table Syntax]는 현재 선택된 테이블의 create하는 SQL문을 생성해 줍니다.

2) 좌측 메뉴
좌측 상단에는 데이터베이스를 선택하거나 추가, 삭제할 수 있는 버튼들이 있습니다. 이는  MySQL Root 권한이 있어야 가능합니다. 그 아래는 현재 데이터베이스의 테이블 목록과 테이블을 복사/삭제/등록할 수 있는 버튼들이 있습니다.

하단에는 문자 엔코딩을 선택할 수 있습니다.

3. 기능 둘러 보기
1) Structure
사용자 삽입 이미지
첫번째로 보이는 윈도우로 테이블 필드를 추가/삭제/변경할 수 있습니다. SQL 테이블 생성문을 따로 작성할 필요가 없을 정도로 상당히 많은 기능을 제공합니다. NOT NULL, default 값, auto increment등 다양한 필드 옵션을 지정할 수 있습니다.

하단은 Indexes에서는 프라이머리 키와 인덱스를 설정할 수 있습니다. 테이블 관리하는데 무척이나 편리하게 되어 있는 것 같습니다.

2) Content
사용자 삽입 이미지
현재 테이블에 있는  데이터(Row)를 관리할 수 있습니다. 상단에는 검색 툴이 있습니다. 선택된 필드의 타입에 따라 =, like , > , <등의 조건으로 검색할 수 있습니다. 검색 row수를 제한하는 limit은 현재 row가 2개밖에 없어 비활성화 되어 있는지 아직 구현되지 않은 것인지는 확인하지 못하였습니다.

3) Custom Query
사용자가 작성한 쿼리를 실행하고, 그 결과 값을 확인할 수 있습니다.
사용자 삽입 이미지

4) Status
테이블의 크기, Row수, 변경시간등의 정보를 확인할 수 있습니다.
사용자 삽입 이미지

이상 CocoaMySQL을 간단히 보았습니다. 한가지 아쉬운 점은 계속 버젼업이 진행되었더라면  기능들이 추가되어 더 좋은 MySQL 클라이언트가 되었을 텐데, 개발이 중단된 것 같아 매우 아쉽습니다. 어쨋든 프리웨어로 공개하신 개발자분께 감사드리며 잘 쓰겠습니다.

모든 댓글을 환영합니다. (욕설과 광고는 삭제합니다.)
  1. Favicon of http://dahlia.pe.kr/ BlogIcon 홍민희 2007.10.19 16:47  댓글주소  수정/삭제  댓글쓰기

    링크가 안되는군요. ㄹ;

  2. Favicon of http://dahlia.pe.kr/ BlogIcon 홍민희 2007.10.19 18:15  댓글주소  수정/삭제  댓글쓰기

    헉. 제가 코멘트 남긴게 하나 더 있었는데 날아갔어요!!!

  3. Favicon of http://dahlia.pe.kr/ BlogIcon 홍민희 2007.10.19 18:16  댓글주소  수정/삭제  댓글쓰기

    RoR 스크린캐스트로 유명해진 어플리케이션이라는 거, MySQL에서 배포하는 Mac OS X용 GUI Tools도 쓸만하다는 거, 윈도용을 포팅한게 아니라 각 운영체제 별로 네이티브한 API(맥은 Cocoa)를 써서 만든 것 같다는 거, 그런 내용이였어요.

    • Favicon of https://www.cocoadev.co.kr BlogIcon cocoadev 2007.10.20 09:33 신고  댓글주소  수정/삭제

      무슨 말씀인지 몰라서 검색을 해보니 RoR이 루비온레일스를 의미 하나 보네요.

      이전에 mysql.com에서 배포하는 툴을 설치해 보았습니다. 4.X버젼대를 지원하지 않아서인지? 무슨 이유인지는 잘 생각이 나지 않는데 삭제하고... 다시 검색하여 저 툴을 사용한 것으로 기억되네요.

      어렵게 찾은 걸로 기억되는데, 유명한 툴이었군요. ^^;

      좋은 말씀 감사 드립니다.

  4. Favicon of http://hazedic.org BlogIcon h4z3dic 2007.10.20 15:34  댓글주소  수정/삭제  댓글쓰기

    편리해보이네요ㅎㅎ 유용한 툴 소개 감사드려요 ㅎㅎ
    mysql에서 배포하는 툴이 기능이 훨 다양하군요.



1. 다운로드
MySQL 다운로드 사이트에서 현재 사용하시는 맥의 CPU와 OS X 버젼에 맞는 패키지를 선택하고 다운 받습니다. 여기서는 package format을 다운 받고 이를 예로 들겠습니다.

해당 파일에서 Pick a Mirror를 클릭하면 회원가입 또는 로그인 화면이 나옵니다. 로그인이나 회원가입을 안하실 분은 하단의 "» No thanks, just take me to the downloads!"를 클릭하면 다운로드 받을 수 있는 미러사이트들이 나옵니다. 이 중 선택하셔서 다운로드 받으시면 됩니다.

2. 설치
사용자 삽입 이미지
다운로드 받은 dmg 파일을 클릭하면 아래와 같은 파일들이 나옵니다.
 
mysql-5***.pkg  : mysql 설치 파일
MySQL_S**.pkg  : 부팅 시 자동 시작 설정 파일
MySQL_pre*.pkg : 시스템 환경설정 등록 파일
ReadMe.txt          : 설치 안내 파일

설치는 매우 쉽습니다. 아래와 같이 각각의 파일들을 클릭하여 설치 합니다.

1) 먼저 mysql-5.0.**.pkg 파일을 클릭하여 MySQL을 설치 합니다.
2) MySQL_Startup**.pkg 파일을 클릭하여 설치합니다.
3) MySQL_prefPane을 클릭하여 환경설정에 MySQL을 추가 합니다.

이제 모든 설치가 완료되었습니다. 시스템 환경설정/기타에서 MySQL 아이콘을 확인하고 클릭합니다.
사용자 삽입 이미지

 위의 화면에서 [Start MySQL Server] 버튼을 클릭하여 MySQL을 시작하고, 위의 화면과 같이 상태가 running임을 확인 합니다.  아래의 체크 옵션은 시스템 시작 시에 MySQL을 자동으로 시작할지를 선택합니다. 필요에 따라서 체크를 하시면 됩니다.
 
3. 설정
이제 MySQL이 실행되고 있는지 확인해 보겠습니다. iTerm등의 터미널을 실행 합니다.
(지금 부터의 내용이 어려우신 분들은 제 이전 포스트를 참고 하세요.)

MySQL은 /usr/local/mysql-[버젼명] 디렉토리에 설치되어 있으며, 해당 디렉토리에서 mysql로 심볼릭 링크되어 있습니다.

사용 상의 편의를 위해 MySQL 실행(bin) 디렉토리를 패스에 추가 합니다. 사용자 root 디렉토리에서 > vi .bash_profile로 열어 아래와 같이 한줄을 추가 합니다.

PATH=${PATH}:/usr/local/mysql/bin
위의 내용을 입력하고 :wq로 저장하고 vi를 나옵니다.
 
다시 터미널로 로그인 하여 > sudo mysql 타이핑 하면, 아래와 같은 MySQL이 실행 된 화면을 보실 수 있습니다. (패스워드 입력창이 나오면 root권한 사용 시 입력하는 패스워드를 입력하시면 됩니다.)
사용자 삽입 이미지

4. Database, 사용자 추가
1. 데이터 베이스 생성
위의 프롬프트 상에서 mysql> create database cocoadev[enter]를 입력하여 cocoadev란 데이터베이스를 생성합니다.

2. 사용자 등록
mysql> grant all privileges on cocoadev.* to test@"localhost" identified by '1111';
와 같이 입력하여 localhost(현재 컴퓨터)의 test 사용자를 패스워드 1111로 생성하여  cocoadev 데이터베이스에 접근할 수 있도록 합니다.

아래와 같이 진행됨을 확인합니다.
사용자 삽입 이미지

quit 명령어로 mysql을 나옵니다.

3. 사용자 로그인
이제 위에서 등록한 test 사용자로 mysql에 로그인 해 보겠습니다.

> msyql -u [userid] -p[password] [database]과 같이 로그인 하며 위의 이미지를 참고 하시면 됩니다. 아래와 같이 정상적으로 mysql에 로그인 되는지 확인 하시면 됩니다.

사용자 삽입 이미지

자세한 사항은 패키지의 ReadMe.txt를 읽어 보시고, 그외 자세한 설명은 mysql 사이트의 메뉴얼을 참고 하세요.

여기서는 나중에 Cocoa Tutorial에서 MySQL과 연동하는 어플리케이션을 제작할 때 다루어 보겠습니다.

모든 댓글을 환영합니다. (욕설과 광고는 삭제합니다.)
  1. Favicon of http://taizyeris.tistory.com BlogIcon ERIS 2007.10.14 02:11 신고  댓글주소  수정/삭제  댓글쓰기

    글 잘 보고 갑니다.
    바로 설치 해봐야겠네요 -^)

  2. Favicon of http://linuxer.pe.kr BlogIcon 신성철 2007.10.15 03:45  댓글주소  수정/삭제  댓글쓰기

    다른 os 에서와는 약간의 차이점이 있네요..
    좋은 정보 감사합니다.

    • Favicon of https://www.cocoadev.co.kr BlogIcon cocoadev 2007.10.15 08:27 신고  댓글주소  수정/삭제

      다양한 OS를 지원하니 환경이나 소스/패키지 설치 등에 따라 조금씩 차이점이 있을 것 같습니다. 좋은 말씀 감사합니다. ^^