티스토리 뷰
1. mysql 계정/그룹 생성
# useradd -M -s /bin/false mysqlmysql 계정의 홈디렉토리를 만들지 않고 쉘 접속을 허용하지 않도록 생성한다.
2. mysql 설치
다운로드한 mysql-5.0.45.tar.gz 파일을 /usr/local/src로 이동 후 압축을 풀고 설치한다.
# cd /usr/local/src
# tar zxvf mysql-5.0.45.tar.gz
# cd mysql-5.0.45
# CFLAGS="-static -O2 -march=i686 -funroll-loops"
# CXXFLAGS="-static -O2 -march=i686 -funroll-loops -felide-constructors -fno-rtti"
# ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --enable-assembler --disable-shared --with-thread-safe-client --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --without-debug --without-docs --without-bench --with-charset=utf8 --with-readline
# make && make install
3. DB 생성
# /usr/local/mysql/bin/mysql_install_db
# chown -R mysql.mysql /usr/local/mysql
4. mysql 설정파일 복사 (메모리 환경에 따라서 환경설정 파일들을 복사해줍니다.)
my-huge.cnf 1~1G
my-large.cnf 512M
my-medium.cnf 128M~256M
my-small.cnf 64M 이하
위와같이 나와있지만 위 설정은 DB서버 전용으로 했을 때 설정입니다. 기본적으로 my-medium.cnf를 복사한 다음 시스템 환경에 맞게 설정해서 사용하면 됩니다.
# cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
mysql 설정파일 수정(선택사항임)
# vi /etc/my.cnf
웹서버와 DB가 같은 서버에서 동작한다면 굳이 mysql을 실행하면서 외부의 접속을 Listen할 3306포트는 필요하지 않을 것이다. 아래 옵션을 활성화하여 유닉스 자체소켓을 이용하도록 하면 DB에 대한 침해를 어느정도 사전방지할 수 있다.
skip-networking <-- 주석제거
5. mysqld 데몬 실행
# /usr/local/mysql/bin/mysqld_safe &
접속 확인
# /usr/local/mysql/bin/mysql
6. root 비밀번호 설정/확인
# /usr/local/mysql/bin/mysqladmin -u root password 비밀번호
# /usr/local/mysql/bin/mysql -u root -p mysql
Enter password: 비밀번호
7. mysql 라이브러리 등록
# vi /etc/ld.so.conf
/usr/local/mysql/lib/mysql
# ldconfig
8. mysql 데몬 부팅시 실행등록
단독 데몬 실행시
# vi /etc/rc.d/rc.local
/usr/local/mysql/bin/mysqld_safe &
init 프로세스에 데몬 등록
# cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysqld
# chkconfig mysqld on
9. 어느 위치에 있든 mysql 명령어를 사용할 수 있도록 링크
# ln -s /usr/local/mysql/bin/mysql /usr/bin
10. utf8 언어셋 설정 확인
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/share/mysql/charsets/ |
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
| completion_type | 0 |
| concurrent_insert | 1 |
| connect_timeout | 5 |
+--------------------------+----------------------------------------+
utf8 언어셋 수동설정
위와같이 utf8 언어셋으로 설정되지 않았거나 euckr이나 다른 언어셋에서 utf8로 설정할 때는 아래와 같이 my.cnf 환경설정 파일을 수정하시면 됩니다.
# vi /etc/my.cnf
[client]
default-character-set=utf8
[mysqld]
init_connect=SET collation_connection = utf8_general_ci
init_connect=SET NAMES utf8
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci
[mysql]
default-character-set=utf8
'DATABASE > Mysql&MariaDB' 카테고리의 다른 글
Myslq 함수 정리 (0) | 2018.09.17 |
---|---|
MySQL의 Binary Logs-로그보기, 로그삭제 (0) | 2018.03.06 |
mysql 자동증가 초기화 (0) | 2009.02.18 |
우편번호 csv를 MySQL로 변환 적용 (0) | 2009.02.18 |
MYSQL 권한/계정생성 (0) | 2008.07.26 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Letsencrypt+nginx
- letsencrypt
- 마이바티스CamelCase
- Letsencrypt wildcard auto renew
- 마이바티스
- Intellj들여쓰기
- Letsencrypt wildcard
- camelcase
- SSL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함