출처 : https://www.youtube.com/watch?v=FvXLOUqB2Xo&list=PLVsNizTWUw7FqN2gq79Cb3R6qkS7mqOJk&index=58
이번 시간에는 리눅스를 DBMS 서버 전용으로 운영한다고 가정하고 MariaDB를 설치하고 운영한다.
MariaDB 운영
실습 목표
- Server 가상 머신을 DMBS 전용 서버로 운영한다.
- MariaDB를 별도로 다운로드해서 설치한다.
실습 시작
server 가상 머신을 설정 완료로 초기화하고 부팅한 다음, root 사용자로 접속한다.
초기화하는 방법은 아래 글 참고.
MariaDB 설치
교재와 강의에서는 10.9 버전으로 진행하지만 나는 최신 버전으로 한 번 진행해 보겠다.
파이어폭스 웹 브라우저를 열고 mariadb.org 로 가서 최신 mariadb를 다운로드 받는다.
혹은 MariaDB Server Repositories로 들어가서 진행해도 된다. 나는 RHEL 9의 11.2 버전으로 진행했다.
gedit 에디터로 /etc/yum.repos.d/mariadb.repo를 만들고 해당 내용을 작성하고 저장하면 된다.
# MariaDB 11.2 RedHatEnterpriseLinux repository list - created 2024-01-05 04:48 UTC
# https://mariadb.org/download/
[mariadb]
name = MariaDB
# rpm.mariadb.org is a dynamic mirror if your preferred mirror goes offline. See https://mariadb.org/mirrorbits/ for details.
# baseurl = https://rpm.mariadb.org/11.2/rhel/$releasever/$basearch
baseurl = https://tw1.mirror.blendbyte.net/mariadb/yum/11.2/rhel/$releasever/$basearch
# gpgkey = https://rpm.mariadb.org/RPM-GPG-KEY-MariaDB
gpgkey = https://tw1.mirror.blendbyte.net/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1
그 다음 sudo 권한으로 mariaDB를 설치한다.
sudo dnf -y install MariaDB-server MariaDB-client
기다리면 설치가 완료된다.
home 디렉토리로 이동한 다음 mariaDB를 재가동하고 상시 가동되도록 만든다음 상태를 확인한다. active(running) 상태가 되면 된다.
systemctl restart mariadb -> mariadb 서비스 시작
systemctl enable mariadb -> mariadb 서비스 상시 가동
systemctl status mariadb -> mariadb 서비스 상태 확인
방화벽 설정
firewall-config
방화벽 설정으로 들어가 설정:영구적 으로 바꾸고 public -> 서비스 -> mysql 을 체크한다.
옵션 -> firewalld 다시 불러오기 를 클릭해 저장하고 방화벽 설정을 닫는다.
MariaDB 클라이언트 접속
MariaDB 클라이언트 프로그램을 이용해 MariaDB 서버에 접속한다. MariaDB 클라이언트 프로그램의 실행 명령인 mysql을 입력한다. 'MariaDB [(none)]>' 프롬프트가 나오면 서버에 정상적으로 접속한 것이다.
exit 명령을 입력해 일단 MariaDB 를 종료한다.
Windows에서 리눅스 MariaDB 서버로 접속
실습 목표
- MariaDB의 기본적인 보안을 설정하고, Windows에서 리눅스의 MariaDB 서버에 접속해서 사용하도록 설정한다.
- MariaDB의 보안에 대해서 이해한다.
실습 시작
WinClient 가상 머신을 설정 완료로 초기화한 다음 부팅한다.
일단 server로 돌아와서 데이터베이스 관리자 root의 비밀번호를 1234로 변경한다. 최신 버전이여서 이제는 mysqladmin 명령어를 사용하지 않게 될 것이라고 한다. 근데 정상 작동하니 괜찮다.
mysqladmin -u root password '1234'
아니면 해달라는 대로 해도 된다.
/usr/bin/mariadb-admin -u root password '1234'
이제 server를 제외한 곳에서 mysql만 입력하면 접속이 안된다(server는 관리자여서 접속 가능).
이제는 원칙적으로 해당 명령을 입력해 MariaDB 서버에 접속한 후 비밀번호를 별도로 입력해서 접속한다.
mysql -h localhost -u root -p
비밀번호 입력
exit를 입력해 접속을 종료한다.
Windows에서 server 가상 머신에 설치된 MariaDB 서버에 접속하기 위해 MariaDB 클라이언트를 설치해보자.
WinClient 가상 머신으로 돌아와서 mariadb.org 사이트에서 Windows용으로 mariadb를 다운로드받는다. 우리는 MariaDB Server 11.2.2 버전을 설치했으므로 똑같이 MariaDB Server 11.2.2 버전을 다운로드 받는다.
다운로드가 완료되면 설치를 진행한다.
우리는 Client만 필요하므로 Client Programs 빼고 나머지는 다 unavailable로 설정한다. 나머지는 그냥 Next를 누르고 설치를 완료하면 된다.
Windows PowerShell을 열고 C:\Program Files\MariaDB 11.2\bin\ 디렉토리로 이동한다. 그리고 DIR mysql.exe를 입력해 클라이언트 파일이 있는지 확인한다.
cd C:\Program Files\MariaDB 11.2\bin\
DIR mysql.exe
cmd 명령을 입력해 명령 프롬프트로 전환한다. mysql 명령만 입력하면 접속이 안 될 것이다. 왜냐하면 우리는 mariaDB 클라이언트만 설치하고 MariaDB 서버는 server 가상 머신에 설치했기 때문이다. 물론 마찬가지로 mysql -h 192.168.111.100 -u root -p 명령을 입력해도 접속이 되지 않는다.
IP와 사용자를 지정해줘야 한다. 다시 server 가상 머신으로 돌아간다.
server 가상 머신으로 돌아와 mysql에 접속한다.
그리고 현재 사용자가 들어있는 user 테이블을 확인한다. 현재 localhost만 존재하므로 외부에서 접속할 수 있는 사용자를 생성하자.
GRANT 명령으로 winuser라는 이름의 사용자를 생성한다. 비밀번호는 쉽게 4321로 설정했다.
GRANT ALL ON *.* TO winuser@'192.168.111.%' IDENTIFIED BY '4321';
windows는 DHCP로 동작해서 IP 주소가 계속 변할 수 있으므로 주소 끝에 %를 붙인다. 이제 IP 주소가 192.168.111.OOO인 사용자만 접속할 수 있다.
VMWare 가상 머신이여서 그런지 가끔 rocky linux 9과 충돌해서 접속이 안되는 경우가 있을 수 있다. 방화벽 설정으로 들어가 3306 포트를 열어준다.
옵션 -> firewalld 다시 불러오기를 눌러서 설정을 저장하고 방화벽을 닫는다.
다시 WinClient 가상 머신으로 돌아와서 우리가 만든 winuser 사용자로 mariaDB에 접속해보자.
mysql -h 192.168.111.100 -u winuser -p
비밀번호 입력
정상적으로 접속이 된다. 이제 server 가상 머신에서든, WinClient 가상머신에서든 똑같이 MariaDB 서버에 접속해 사용할 수 있다.
'Study > 이것이 리눅스다 with Rocky Linux 9' 카테고리의 다른 글
11장. 데이터베이스 서버 구축 및 운영 (4) - Visual Studio와 MariaDB의 연동 (0) | 2024.01.06 |
---|---|
11장. 데이터베이스 서버 구축 및 운영 (3) - MariaDB 생성과 운영 (1) | 2024.01.05 |
11장. 데이터베이스 서버 구축 및 운영 (1) - DBMS의 개념과 간단한 SQL 문 (2) | 2024.01.04 |
10장. 메일 서버 설치 및 운영 (3) - 라운드 큐브 메일 설치 (0) | 2024.01.04 |
10장. 메일 서버 설치 및 운영 (2) - 센드메일 서버 구현(네이버, 다음 메일 서버 구현) (0) | 2024.01.03 |