Linux MySql 설치

김재민·2022년 2월 28일
post-thumbnail

MySQL 설치

소스파일을 이용한 컴파일 설치

1) mysql 소스 파일 다운로드 및 압축 해제

cd /usr/local/src

wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.28.tar.gz

tar xzvf mysql-5.6.28.tar.gz

cd mysql-5.6.28

wget 명령어를 통해 정상적으로 다운로드하고 tar를 통해 압축해제 진행


2) mysql 계정 생성 및 사전 작업

mysql DB를 설치하기 전 mysql 계정과 필수 패키지를 설치

mysql 설치에 필요한 필수 패키지 사전 설치

yum install -y cmake bison gcc gcc-c++ ncurses-devel

3) mysql 소스 컴파일 및 설치

mysql db 설치에 필요한 사전 작업이 완료되면 설치를 진행할 수 있음
Mysql은 5.5버전 이후의 버전은 configure명령어가 아닌 cmake명령어를 이용하여 configure진행

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DENABLED_LOCAL_INFILE=1 -
DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_EXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci -Dwith_ZLIB=system -DENABLE_DTRACE=0

4) mysql 환경 설정파일 및 mysql 초기화

mysql 설치작업이 끝나면 데몬을 구동하기 위한 초기화 작업이 필요

  • 다음과 같이 작업이 완료되면 최초 설치 작업은 마무리됨
cp ./support-files/my-default /etc/my.cnf

# mysql 초기화
cd /usr/local/mysql
/usr/local/mysql/scripts/mysql_install_db --user=mysql

->
/usr/local/mysql/scripts/mysql_install_db --user=mysql
이 작업을 수행하라고 했지만 permission denied 문제로 패스함 (왜 그런건지 이유를 잘 모르겠음..)


5) mysql 서비스 스크립트 및 서비스 설정

Mysql 설정이 완료되면 부가적으로 서비스의 스크립트와, 부팅 시 자동으로 서비스가 올라오도록 아래와 같은 기본 설정을 추가합니다.

-> mysql 서비스 스크립트 및 서비스 runlevel 등재

cd /usr/local/mysql

cp -a support-files/mysql.server /etc/init.d/mysqld

ln -s /etc/init.d/mysqld /etc/rc3.d/S90mysqld

->
ln -s /etc/init.d/mysqld /etc/rc3.d/S90mysqld
이 과정 또한 permission denied 문제로 패스함 (왜 그런건지 이유를 잘 모르겠음..)


6) rpm 설치

1) mysql 패키지 설치

최신버전의 mysql 설치를 위해 mysql community repo 추가

mysql community repo 추가

yum install http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

mysql 5.6 설치

yum install mysql-community-server

mysql 서비스 시작 및 확인

rpm으로 설치한 패키지는 기본적으로 스크립트 및 path에 자동 등록됨
아래의 명령어를 통하여 mysql 데몬의 상태 및 서비스의 시작을 알림

7) 설치 후 설정

MySql 서버를 설치하게될 경우 초기 패스워드는 null값으로 설정됨. 기본적으로 root에 대한 패스워드 변경하는 것이 좋음

mysql shell에서 root 패스워드 변경

update user set password=password(‘wjdakfdjfudnsvotmdnjem1@3$’) where user = ‘root’;

flush privileges;

정상적으로 mysql shell 접속을 하여 루트 패스워드의 변경을 완료


profile
어제의 나보다 나은 오늘의 내가 되자!🧗‍♂️

0개의 댓글