CentOS 6.8 환경에서 MySQL 5.6 소스 설치 및 설정

개요

이 문서는 CentOS 6.8 시스템에 MySQL 5.6 버전을 압축 파일(.tar.gz) 형태로 설치하는 절차를 설명합니다. 공식 바이너리 패키지를 사용하여 수동으로 설치하는 방식으로, 주로 커스터마이징이 필요한 서버 환경에서 활용됩니다.

사전 준비 사항

이전 버전이 필요할 경우, 다운로드 페이지 내 "Looking for previous GA versions?" 링크를 통해 접근할 수 있습니다. 본 안내서는 MySQL 5.7과의 설치 차이점이 있음을 감안해 5.6 기준으로 작성되었습니다.

기존 MySQL 제거

설치 전 시스템 내 기존 MySQL 관련 파일 및 프로세스를 완전히 제거합니다.

find / -name mysql 2>/dev/null | xargs rm -rf

오류 메시지를 필터링하기 위해 표준 에러 출력을 무시합니다.

압축 해제 및 디렉터리 정리

다운로드한 파일을 적절한 위치에 압축 해제하고 이름을 간소화합니다.

tar -zxvf mysql-5.6.31-linux-glibc2.5-x86_64.tar.gz
rm -f mysql-5.6.31-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.6.31-linux-glibc2.5-x86_64 mysql

사용자 및 그룹 설정

MySQL 서비스 전용 그룹과 사용자를 생성합니다.

groupadd mysql
useradd -r -g mysql mysql

-r 옵션은 시스템 계정으로 생성하며 로그인 셸을 할당하지 않습니다.

권한 설정

MySQL 설치 디렉터리에 대한 소유권을 변경합니다.

cd mysql
chown -R mysql:mysql .

데이터베이스 초기화

데이터 디렉터리를 생성하고 초기 스키마를 구성합니다.

./scripts/mysql_install_db --user=mysql --basedir=$(pwd) --datadir=$(pwd)/data

초기화 후 루트 권한과 데이터 디렉터리 권한을 조정합니다.

chown -R root:root .
chown -R mysql:mysql data

MySQL 서비스 시작

임시로 MySQL 서버를 구동합니다.

./support-files/mysql.server start

만약 포트 충돌 또는 기존 프로세스가 있다면, 아래 명령어로 종료 후 재시도합니다.

ps aux | grep mysql | grep -v grep | awk '{print $2}' | xargs kill -9

루트 비밀번호 설정

기본적으로 비밀번호가 없으므로 관리자 계정에 비밀번호를 지정합니다.

./bin/mysqladmin -u root password 'root'

설정 후 로컬에서 접속 테스트를 수행합니다.

./bin/mysql -h 127.0.0.1 -u root -proot

접속 성공 시 모든 루트 계정에 동일한 비밀번호를 적용하고 권한을 갱신합니다.

UPDATE mysql.user SET Password=PASSWORD('root') WHERE User='root';
FLUSH PRIVILEGES;

원격 접속 허용

기본적으로 원격 접속이 거부되므로, 외부에서도 접근 가능하도록 권한을 확장합니다.

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
FLUSH PRIVILEGES;

이 설정은 모든 IP에서 루트 계정으로 접속할 수 있도록 하며, 운영 환경에서는 보안상 주의가 필요합니다.

시스템 서비스 등록

MySQL을 시스템 부팅 시 자동 실행되도록 init 스크립트를 등록합니다.

cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
service mysqld restart
service mysqld status

기본 설정 파일 구성 (my.cnf)

문자셋, 테이블명 대소문자 처리, 최대 패킷 크기 등을 설정합니다.

vim /etc/my.cnf

[mysqld] 섹션 내에 다음 내용을 추가합니다.

[mysqld]
character_set_server=utf8
lower_case_table_names=1
max_allowed_packet=100M

설정 완료 후 서비스를 재시작하여 반영합니다.

service mysqld restart

태그: MySQL 5.6 CentOS 6.8 Linux 설치 my.cnf 설정 원격 접속

5월 26일 12:29에 게시됨