ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • CentOS7_MySQL 5.7.30 설치
    데이터베이스/MySQL 2021. 4. 26. 17:24
    728x90

    1. 환경설정


    • OS 버전 및 의존성 라이브러리 libaio 설치 확인
    [root] cat /etc/*release*
    CentOS Linux release 7.9.2009 (Core)
    
    [root] rpm -qa | grep libaio
    libaio-0.3.109-13.el7.x86_64

     

    2. DB Install


    • MySQL DB 다운로드
    #MySQL 데이터베이스 다운로드
    [root] yum install wget
    [root] wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.30-el7-x86_64.tar.gz
    > yum 설치 안될 때

    1) 첫번째 방법
    [root] cd /etc/sysconfig/network-scripts
    [root] vi ifcfg-ens160
    ONBOOT=yes #no #수정

    2) 두번째 방법
    [root] vi /etc/resolv.conf
    nameserver 8.8.8.8 #추가

    > 다른 버전 다운받고 싶을 때 (아래 더보기 클릭)

    더보기
     

    MySQL :: MySQL Community Downloads

    The world's most popular open source database

    dev.mysql.com

    -> MySQL Community Server 선택 -> Archive  선택 -> 원하는 MySQL버전 및 OS 선택 (CentOS일 경우, Linux-Generic 선택)

     

    • 엔진 설치할 디렉토리 및 유저 생성
    #디렉토리 생성
    [root] mkdir -p /engine /data /log/binlog/mysql-bin /log/relay/mysql-relay /log/error/
    [root@/log/error] touch mysqld.log #시스템 로그 담을 파일 생성
    
    #유저 생성
    [root] groupadd mysql
    [root] useradd mysql -g mysql
    [root] passwd mysql
    -> mysql
    -> mysql 

     

    • 압축 풀기
    [root] tar xvzf mysql-5.7.30-el7-x86_64.tar.gz 
    [root] mv mysql-5.7.30-el7-x86_64 /engine    #디렉토리 이동
    [root@engine] mv mysql-5.7.30-el7-x86_64 mysql    #디렉토리 이름 변경

     

    • 디렉토리 접근 권한 변경
    [root] chown -R mysql:mysql /engine /data /log

     

    • 설정 파일 생성 및 환경변수 적용
    #설정 파일 생성
    [root@/etc] vi my.cnf
    
    [mysqld]
    user=mysql
    port=13306
    
    basedir=/engine/mysql
    datadir=/data
    
    log-bin=/log/binlog/mysql-bin
    log-error=/log/error/mysqld.log
    #relay-log=/log/relay/mysql-relay    #slave 경우 주석 제거
    
    server-id=1    #slave 경우 숫자 변경
    #read_only    #slave 경우 주석 제거
    
    
    [root] chown -R mysql:mysql my.cnf
    
    
    #환경 변수 적용
    #맨날 bin 파일 들어가서 DB를 스타트할 수 는 없으니까 경로를 지정해 주는 것임 
    [mysql] vi .bash_profile 
    ## MySQL Binary PATH
    PATH=$PATH:/engine/mysql/bin #$PATH:추가 #위의 패스를 유지하면서 뒤에 덧붙여준다. 
    alias ss='mysql -uroot -p' #접속 편하게 별칭을 줌 
    
    [mysql]. ~/.bash_profile

     

    • MySQL 초기화 및 실행
    #초기화
    [mysql] mysqld --defaults-file=/etc/my.cnf --initialize 
    
    #DB 기동
    [mysql] mysqld --defaults-file=/etc/my.cnf &

     

    • 확인
    [mysql] ps - ef | grep my
    mysql    22738 21962  0 17:08 pts/1    00:00:00 mysqld --defaults-file=/etc/my.cnf  
    #이런식으로 cnf파일 떠있으면 정상적으로 기동된 것임

     

    3. 접속


    • 접속 및 비밀번호 변경
    #초기 비밀번호 확인
    [mysql] cat /log/error/mysqld.log | grep temp
    A temporary password is generated for root@localhost: OwWr2Zfko,ZY
    
    #비밀번호 변경
    [mysql] mysql_secure_installation -uroot -p 
    -> OM7Q(mifo43h
    
    -> 1
    -> 1
    
    VALIDATE PASSWORD PLUGIN? #비밀번호 설정 #어차피 테스트이므로 안줘도 됨
    -> no
    Change the password for root? #루트 비밀번호 굳이 바꿀 필요 없음
    -> no
    Remove anonymous users? #보안상 지우는게 나음
    -> yes 
    Disallow root login remotely? #로컬에서 뿐 만 아니라, 아무 피씨에서나 접속할 수 있도록 함
    -> no
    Remove test database and access to it? #테스트 데이터베이스 굳이 필요 없음
    -> yes
    Reload privilege tables now?
    -> yes
    All done!
    728x90

    댓글

Designed by Tistory.