2013년 5월 21일 화요일

mac os(mountain lion) 에서 mysql 설치

예전에 mac 에서 mysql 쓸수 있는지 확인하기 위해서 이미 설치를 했었다.
일단 삭제 하고 다시 설치 하자. (삭제하는 방법 구글링 한 것 아까워서 삭제 부터 시작함!)


1. 기존 인스톨된 mysql 삭제
sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
rm -rf ~/Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /var/db/receipts/com.mysql.*
vim /etc/hostconfig # and remove the line MYSQLCOM=-YES-
출처: Removing MySQL From OSX Lion

lion 버전에서 삭제 라는데, 그냥 무시하고 그대로 따라 했다.
재부팅 하니....별 문제 없는듯.....


2. mysql 다운로드
Mysql 사이트 에서 다운로드 받으면 된다. 사이트 방문하면 여러가지 메뉴가 많은데, 대충 "Download" 들어가서 "MySQL Community Edition (GPL)" 받으면 된다.

참고로 mysql 사이트에 가입 후 로그인 해야 하니, 가입 안 했다면 돈 안드니 가입 하면 된다.

최종 다운로드 메뉴로 들어가면 자기가 알아서 Mac OS X 용 패키지를 보여 주니, 골라서 다운 받으면 된다.

서버도 아니고 로컬에서 설치로 골치 아프기 싫어서 그냥 dmg 로 묶여 있는 것을 받았다. 요거 ~ Mac OS X ver. 10.7 (x86, 64-bit), DMG Archive (mysql-5.6.11-osx10.7-x86_64.dmg)


3. 설치
다운 받은 dmg 파일을 열면 다음과 같이 나온다.

mysql-5.6.11-osx10.7-x86_64.pkg 를 클릭하여 실행한다. 윈도우 프로그램 설치 할때 처럼 아무 생각 없이 Ok 버튼만 눌러서 마지막 까지 설치 진행 한다.

"시스템 환경설정" 에서 mysql 메뉴를 보기 위해서 MySQL.prefPane 을 실행 한다.
preference pane 에 mysql icon 이 추가 되며, 앞으로 이것을 통해서 mysql stop, start 할 수 있다.


Mysql 아이콘을 클릭 하면 다음과 같이 Start, Stop 할 수 있는게 나온다.


Start MySQL Server 를 클릭 하니...오~ 별 문제 없이 잘 돌아 간다. 서버에 오라클 설치 할때 생각 하면 진짜....너무 편하다는....


4. 점검
진짜로 설치 제대로 되었는지 터미널(나의 가장 친한 친구 터미널~)로 mysql 에 한번 붙어 본다.

$ cd /usr/local/mysql
$ cd bin
$ ./mysql
$ sudo ./mysql

mysql 은 /usr/local/mysql 에 설치 되어 있다.

기본으로 password 가 없기 때문에, 그냥 ./mysql 이나 sudo ./mysql 로 접속하면 바로 접속 되어 진다.

sudo ./mysql 로 붙으면 root 로 붙는 것이기 때문에 이렇게 붙어서 기본 설정 하면 된다.


5. 터미널로 mysql 붙은 김에 할일
터미널로 mysql command 로 들어온 김에 root 패스워드를 설정 한다.

$ cd /usr/local/mysql/bin
$ sudo ./mysql
mysql> use mysql;
mysql> update user set password=password('사용하고 싶은 패스워드') where user='root';
mysql> flush privileges;
mysql> quit

mysql root 의 패스워드를 설정 했기 때문에 이후 부터는 sudo ./mysql 이나 ./mysql 로 바로 붙을 수 없다. root 로 한번 붙어 보자.

$ cd /usr/local/mysql/bin
$ ./mysql -u root -p

로 커맨드를 치면, 패스워드 넣어라고 한다. 그러면 위에서 설정한 패스워드를 입력하면 접속 완료!

<2013년12월15일 추가>
[mysql 을 UTF-8 환경으로 설정]
http://www.nextstep.co.kr/250 참조

phpMyAdmin 을 사용한다면 별 상관 없을듯 한데, RazorSQL 사용할때 괜히 텍스트 꼬이지 않게 하기 위해서 mysql 을 UTF-8 로 설정 한다.

$ cd /usr/local/mysql
$ sudo vi my.cnf

my.cnf 파일을 다음과 같이 수정 하면 된다(내용 추가)

[mysqld]
init_connect="SET collation_connection=utf8_general_ci"
init_connect="SET NAMES utf8"
character-set-server=utf8
collation-server=utf8_general_ci
skip-character-set-client-handshake

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

파일 수정후, mysql stop/start 한다. 다시 mysql 에 접속해서 명령어로 utf-8 설정 확인 한다.

$ cd /usr/local/mysql/bin
$ ./mysql -u root -p
mysql> show variables like 'c%';
+--------------------------+--------------------------------------------------------+
| Variable_name            | Value                                                  |
+--------------------------+--------------------------------------------------------+
| character_set_client     | utf8                                                   |
| character_set_connection | utf8                                                   |
| character_set_database   | utf8                                                   |
| character_set_filesystem | binary                                                 |
| character_set_results    | utf8                                                   |
| character_set_server     | utf8                                                   |
| character_set_system     | utf8                                                   |
| character_sets_dir       | /usr/local/mysql-5.6.15-osx10.7-x86_64/share/charsets/ |
| collation_connection     | utf8_general_ci                                        |
| collation_database       | utf8_general_ci                                        |
| collation_server         | utf8_general_ci                                        |
| completion_type          | NO_CHAIN                                               |
| concurrent_insert        | AUTO                                                   |
| connect_timeout          | 10                                                     |
| core_file                | OFF                                                    |
+--------------------------+--------------------------------------------------------+
15 rows in set (0.00 sec)




댓글 8개:

  1. 안녕하세요 한글 설정하는 부분 질문드립니다.ㅠ 도저히 모르겠네요

    vi my.cnf
    여기에 들어가서

    [mysqld]
    init_connect="SET collation_connection=utf8_general_ci"
    init_connect="SET NAMES utf8"
    character-set-server=utf8
    collation-server=utf8_general_ci
    skip-character-set-client-handshake

    [client]
    default-character-set=utf8

    [mysql]
    default-character-set=utf8
    이것을 입력하고 저장하는 부분 세세하게 설명 해 주실 수 있나요?ㅠ

    답글삭제
    답글
    1. 답변이 너무 늦은건 아닌가 싶지만.. ESC키를 누르신 담에 :wq 를 입력하시면 됩니다. 자세한건 google에 터미널 vi 명령어를 검색해보시면 될 듯 하네요.

      삭제
  2. 정말 감사합니다.
    찾아보면서 설정해야하는 내용들을 한번에 설명해 주셨네요.
    이 글 참고해서 좋은 코드 작성하겠습니다.

    감사합니다!!

    답글삭제
  3. 작성자가 댓글을 삭제했습니다.

    답글삭제
  4. 해당 내용 그래도 따라했는데도 그대로 라틴입니다. . .

    문제가 뭘까요 . .ㅠ

    답글삭제
  5. 작성자가 댓글을 삭제했습니다.

    답글삭제
  6. HyeKyounguiiMac:~ sthermom$ cd /usr/local/mysql
    HyeKyounguiiMac:mysql sthermom$ cd bin
    HyeKyounguiiMac:bin sthermom$ ./mysql
    ERROR 1045 (28000): Access denied for user 'sthermom'@'localhost' (using password: NO)
    이렇게 에러가 뜨고 비번입력을 막아버립니다. 접속거부를 해결할수는 없나요? 삭제하고 재설치도해봤지만 여전히 잔재가 남아서인지.. 처음과 같습니다.

    답글삭제