- MySQL이 올라갈 그룹은 www, 유저는 mysql 입니다.
(일반적으로 www-data로 쓰긴 쓰던데..) - 다운로드를 할 위치는 /tmp 입니다.
- 설치를 할 위치는 /usr/local/mysql 입니다 (혹시 이 폴더에 무언가 있는가 확인해 주세요)
- 귀찮은 관계로 작업을 시작하기전에 sudo su 를 해 놓은 상태입니다.
따라하실때 일일이 sudo [블라블라]를 쓰기 귀찮다면, sudo su를 미리 입력해주세요. - Unix 소켓의 위치는 /tmp/mysql.sock 이며, TCP 소켓포트는 3306 입니다.
- 혹시 모르는 사람을 위한 팁: Putty에서 오른쪽 클릭 => 붙여넣기
- 서비스명은 mysqld 입니다.
설치후 root계정으로 아래와 같은 기능을 쓰시면 됩니다.
- service mysqld start MySQL 시작
- service mysqld stop MySQL 중지
- service mysqld restart MySQL 재시작
선행적으로 MySQL 컴파일전 필수적으로 설치해야 하는 요소들을 설치합니다.
- apt-get install build-essential cmake libreadline6-dev libncurses5-dev
또한, MySQL이 올라갈 그룹과 유저계정을 만듭니다.
- groupadd www
- useradd -r -g www mysql
다음으로는 최신의 MySQL 소스를 다운받습니다.
|
그러면 위와 같은 화면이 나오는데, 로그인 하고 싶으시다면 로그인 하셔도 됩니다만 귀찮은 관계로 'No thanks, just start my download' 의 링크 주소를 복사합니다. (저기에서 오른쪽 클릭 => 링크주소 복사 => 예: cdn.mysql.com/블라블라.tar.gz) |
해당 링크를 다운받습니다.
(저 같은 경우에는 tmp폴더에 저장하고 하지만, 어디로 받는가는 자유입니다.)
본격적으로 해당폴더에 들어가서 컴파일을 합니다
* 이전에 이 단계를 했다면
rm CMakeCache.txt 를 꼭 입력해 주세요.
- cd mysql-5.6*
- [이전에 컴파일을 시도했다면,
rm CMakeCache.txt을 입력해 주세요]
- cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DSYSCONFDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
.
[위의 '.' 까지 입력해야 합니다] - 위의 컴파일 옵션 설명입니다
- 설치할 위치 => /usr/local/mysql
- 기본 인코딩 => UTF8
- 기본 콜렉션 => utf8_general_ci
- 유닉스 소켓 위치 => /tmp/mysql.sock
- TCP 소켓 포트 => 3306
- 설정파일 (my.cnf)의 기본 위치 => /etc
- innodb 엔진 사용
- archive 엔진 사용
- make [체감 30분~50분이니 그동안 다른거 할만한거 찾으시길]
- make test [제대로 make됬는지 확인하기 위해]
- make install
이제 설정? 을 한다고 보시면 됩니다.
- cd /usr/local/mysql
- chgrp -R www .
- chown -R mysql .
- chown -R mysql data
- s/mysql_install_db
- cp support-files/my-default.cnf /etc/my.cnf
- bin/mysqld_safe & [이때 & 안붙이면 불상사가 일어난다. 무조건 &붙이고, 붙이는거 까먹었으면 새로운 세션 열어서 sudo killall mysqld 하길]
- [고급설정]
- bin/mysql_secure_installation
- 1번째로 묻는건 현제 루트비밀번호 (처음 성치하면 그냥 엔터)
- 2번째로 묻는건 루트비밀번호를 지정하나? (y 누름)
- 새로 지정할 루트비밀번호 입력
- 그리고 확인용으로 재입력
- 익명계정을 삭제하나? (y누름)
- 외부에서 접속을 허락하지 않을것인가 (y누름)
=> 아니면 외부에서 접속가능 - 'test' 라는 데이터베이스를 삭제할것인가? (y누름)
- 테이블권한을 새로고침(?) 할것인가? (y누름)
- 끝
서비스 등록같이 편의? 한것 설정
- cp support-files/mysql.server /etc/init.d/mysqld
- 업데이트-rc.d mysqld defaults (필터링 걸리네요 up.date-rc.d 입니다.)
- 그리고 /usr/local/mysql/bin에 들어가서 mysql이나 mysqld 쓰기 귀찮다면
심볼릭 링크를 걸어준다.
ln -s /usr/local/mysql/bin/* /usr/local/bin/
정상작동하는가 확인
- service mysqld start => MySQL 시작
- service mysqld stop => MySQL 중지
- service mysqld restart => MySQL 재시작
원래는
블로그에 올린글인데 짜피 검색에서도 안뜨고 해서...
아, 그리고 설정 최적화는 알아서...