준비물
mysql 설치 rpm 파일
Centos7버전 OS
root 유저 필요
설치방법
mysql 설치 다운로드 링크
https://www.mysql.com/products/community/
Download MySQL Community Edition 클릭
MySQL Community Server 클릭
OS glibc 및 bit에 맞는 바이너리 다운로드
리눅스 glibc 버전 확인
getconf -a | grep glibc |
리눅스 비트 확인
22.06.13 기준 glibc는 테스트 밖에 존재하지 않아 2.12파일 다운로드하여 설치 함
유저 생성
useradd mysql passwd mysql mysql |
디렉터리 생성
mkdir /mysql_engine
mkdir -p /mysql_dump/error
mkdir /mysql_data
mkdir /mysql_export
mkdir -p /mysql_data/mysql
mkdir -p /mysql_dump/binlog mkdir -p /mysql_dump/relaylog |
생성한 디렉터리 권한 변경
chown -R mysql. /mysql_engine chown -R mysql. /mysql_dump chown -R mysql. /mysql_data chown -R mysql. /mysql_export chmod -R 770 /mysql_engine chmod -R 770 /mysql_dump chmod -R 770 /mysql_data chmod -R 770 /mysql_export |
다운로드 파일 /mysql_engine에 옮긴 후 압축 해제
cd /mysql_engine tar -Jxvf mysql-8.0.29-linux-glibc2.12-x86_64.tar.xz |
vi /etc/my.cnf 설정파일 변경(실제 파일에 적용 시, #로 되어있는 주석은 모두 삭제 후 적용)
[client] #mysql 8 버전에서는 client 소켓도 지정 필요 port=3306 socket=/mysql_data/mysql.sock [mysqld] user=mysql authentication_policy=mysql_native_password datadir=/mysql_data/data port=3306 socket=/mysql_data/mysql.sock pid-file=/mysql_data/mysqld.pid server-id=1 log_error=/mysql_dump/error/mysql.err #에러 로그 위치 log_bin=/mysql_dump/binlog/mysql-bin #바이너리 로그 위치, replication 시 필수 relay-log=/mysql_dump/relaylog/relay-log relay-log-index=/mysql_dump/relaylog/relay-log.index relay_log_purge=0 #MHA 구성 시 필수 sync_binlog=1 binlog_cache_size=1M #로그 캐시 사이즈, 필수 사항 아님 max_binlog_size=1G binlog_expire_logs_seconds=86400 # Character set Config character-set-client-handshake=FALSE character-set-server=utf8mb4 init_connect=SET collation_connection = utf8_general_ci init_connect=SET NAMES utf8 |
설정한 파일 권한 변경 및 디렉터리 명 변경
chown -R mysql. /mysql_engine
chmod -R 775 /mysql_engine chown mysql. /etc/my.cnf chmod 644 /etc/my.cnf
mv mysql-8.0.29-linux-glibc2.12-x86_64 mysql |
계정 변경 및 mysql 초기화
su - mysql /mysql_engine/mysql/bin/mysqld --initialize --user=mysql
|
초기화 에러 확인
cat /mysql_dump/error/mysql.err
|
프로파일 설정(빨간색 부분만 추가)
vi ~/.bash_profile
PATH=$PATH:$HOME/.local/bin:$HOME/bin:/mysql_engine/mysql/bin export PATH alias mm='mysql -u root -p' |
프로파일 적용
sh ~/.bash_profile |
mysql 실행 및 서비스 확인
/mysql_engine/mysql/bin/mysqld_safe --user=mysql &
ps -ef | grep mysql
|
로그인, 로그인 시 비밀번호는 초기화 에러 확인 시 나왔던 정보 입력
/mysql_engine/mysql/bin/mysql -u root -p
혹은 mm(alias 설정한 이름) |
root 비밀번호 변경
alter user 'root'@'localhost' identified by 'password1!'; |
설정 정보 확인
\s |
mysql 보안 설치
exit
/mysql_engine/mysql/bin/mysql_secure_installation |
추후 mha 설정을 고려한다면 LOW 설정을 권장함(mha시 비밀번호에 특수문자 있으면 정상 동작이 안됨)
보안 설정은 말 그대로 '보안'에 관한 설정이므로 본인 사항에 맞게 설정
DB 시작 및 종료 스크립트 생성, 필수는 아니나 편의성 측면에서 생성
vi /mysql_engine/mysql/bin/dbstartup
#/!/bin/bash
/mysql_engine/mysql/bin/mysqld_safe --user=mysql &
vi /mysql_engine/mysql/bin/dbshutdown
#!/bin/sh
/mysql_engine/mysql/bin/mysqladmin shutdown -u root -p
chmod 770 /mysql_engine/mysql/bin/dbstartup
chmod 770 /mysql_engine/mysql/bin/dbshutdown
|
기동 및 정지 테스트
dbshutdown ps -ef | grep mysql dbstartup ps -ef | grep mysql |
'데이터베이스 > mysql' 카테고리의 다른 글
[mysql8.0.29]Centos7.4 mysql 8 mha0.57 설정 (0) | 2022.07.18 |
---|---|
[mysql8.0.29]Centos7.4 mysql 8 replication 설정 (0) | 2022.07.14 |
[mysql8.0]Centos7.4 mysql 8 yum 설치 및 root 비밀번호 설정 (0) | 2022.05.28 |