Centos서버에 인터넷이없는 보안을 갖춘 환경 DB를 설치하거나
RPM ,yum 등의 사용이 불가한 환경에 설치해야하거나
여러 인스턴스를 올려야하는 특수한 상황에 설치하는 경우
바이너리 파일(tar.gz)만을 가지고 설치해야하므로, 설치를 진행해보자
yum으로 원하는 버전을 설치하는 방법은 여기를 참조하시기 바랍니다.
- 목차
- 1. 설치파일 준비
- 2. 압축풀기
- 3. install 및 초기화
- 4. mariadb 실행
- 5. 루트비번 초기화
0. 설치전 사전 작업사항
- SELinux 끄기 (리눅스 보안)
- MariaDB 데몬이 올라갈 계정 미리 만들기
- 방화벽 포트개방하기 (default port : 3306)
1. 설치파일 준비
downloads.mariadb.org/mariadb/
해당 페이지에서 자신이 설치한 MariaDB 버전과, 서버환경에 맞게 tar.gz파일을 다운받아
서버에 올려줍니다.
2. 압축풀기
원하는 위치에 파일을 옮겨두고,
소유자를 변경하여 압축을 풀어줍니다 (tar -zxvf).
그리고 폴더를 적절한 이름으로 바꿔줍니다.
sudo mv mariadb-10.3.8-linux-x86_64.tar.gz 목적지
sudo chown -R mysql:mysql mariadb-10.3.8-linux-x86_64.tar.gz
tar -zxvf mariadb-10.3.8-linux-x86_64.tar.gz
mv mariadb-10.3.8-linux-x86_64 mysql
사용성을 위해 /usr/local 밑에 링크를 걸어줍니다.
ln -s ./mysql /usr/local/mysql
3. 설치 및 초기화
설치를 위해서는 scripts 밑에 mysql_install_db를 실행하면 되지만.
실행전에 몇가지 작업사항이 있습니다.
3-1 환경변수 등록
mysql의 실행을 위해서 모든계정이 ssh로그인시 실행되는 /etc/profile에 환경변수를 등록해주자
sudo vi /etc/profile
아래와 같이 MARIADB_HOME과 bin을 path에 추가해줍니다.
export MARIADB_HOME=/usr/local/mysql
export PATH=$PATH:$MARIADB_HOME/bin:.
저장후 바로 적용
source /etc/profile
이제 mysql 설치 및 초기화도 어떤 경로에서든지 가능하고, 접속 및 실행도 가능하다
3-2 my.cnf 수정
mysql 초기화 및 설치작업시 기본적으로 바라볼 설정파일을 잘 만들어주고 값을 주어 실행시켜줘야하므로,
반드시 my.cnf를 잘 만들어주어야 합니다.
my.cnf 에서 인코딩, 대소문자 구분, sql_mode설정, 커밋 여부 등을 설정할수 있습니다.
vi /etc/my.cnf
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_bin
# 쌍따음표 사용
sql_mode="ANSI_QUOTES,ONLY_FULL_GROUP_BY,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
# 대소문자 구분
lower_case_table_names=1
# commit read option
autocommit=0
# 데이터 저장경로
basedir=/fsdbdata/mysql
datadir=/fsdbdata/mysql
# 포트 변경
# port = 3307
등의 자신이 원하는 내용을 추가해줍니다.
이젠 진짜 설치 및 초기화를 할 수 있다.
3-3 mysql_install_db 실행
아래 실행시 mariadb 계정으로 하길 권장합니다.
$MARIADB_HOME/scripts/mysql_install_db --defaults-path=/etc/my.cnf --user=mysql
중요한건 basedir, datadir에 해당계정이 읽고쓸수있는 권한이 있는지 소유자인지
확인후 진행해 주셔야 합니다.
포트변경시 해당포트를 사용중이진 않은지 체크해주시고,
위에 스크립트 실행시 에러가 났다면, 설정파일에 문제가 있는경우일수 있습니다.
4. 서버실행
yum설치와 달리 systemd에 설정이 안되있어,
서버시작시 실행될수있도록 설정해주며 시스템에 support-files/mysql.server 파일을 등록해줍시다.
cp -rfp $MARIADB_HOME/support-script/mysql.server /etc/init.d/mariadb
chkconfig --add mariadb
-- 2345 레벨에서 모두 실행 on
chkconfig --level 2345 mysqld on
service mysqld stop
service mysqld start
5. Root 비번 설정
-- 비번 설정
mysqladmin -u root password 설정할 비번
-- 접속
mysql -uroot -p설정한 비번
참고로 '계정명'@'localhost' 와 '계정명'@'%' 모든 아이피 접속허용된 계정은 별
개의 계정으로 관리되기때문에,
혼동하지마시고 , 하나의 계정을 쌍으로 만들어서 권한관리 해주셔야 합니다.
처음 바이너리 설치를 진행해보았는데,
순서에 맞게 잘 작성된건지 의구심이 들기도합니다.
서버가 잘 기동되긴했지만, mariadb계정을 굳이 만들어 관리할 필요가 무엇인지
아직 잘 모르겠고, 혹여 설치시 빠진 주의사항이라든지가 더 있을수 있으니, 보시고 궁금하신거나, 수정사항이 있다면
댓글 남겨주시면 감사하겠습니다.
'Work > Server' 카테고리의 다른 글
[Window] 윈도우에서 우분투 설치 사용 (초간단 설치 WSL) (0) | 2021.03.14 |
---|---|
[Linux] 커널 파라미터 수정 - TCP 성능향상 (0) | 2021.03.13 |
[Linux] vi 비주얼모드 전환 (복사 붙여넣기 안되는 현상) (3) | 2021.02.01 |
[Linux] 서버 다운(shutdown) 로그 확인 (3) | 2021.01.26 |
[원도우] Windows Server 2016 영문서버 한글변경 (0) | 2020.12.17 |