출처: 이것이 리눅스다 ※
1. cafe.naver.com/Thisislinux에서 파일 4개 다운
이것이리눅스다 : 네이버 카페
[이것이 리눅스다] 책의 질의 응답 및 자료실입니다.
cafe.naver.com
11장. 데이터베이스 서버 구축과 운영
<실습 1>
▶ (링크) galera-4-26.4.3 (Linux용)
▶ (링크) MariaDB 10.4.10 client (Linux용)
▶ (링크) MariaDB 10.4.10 common (Linux용)
▶ (링크) MariaDB 10.4.10 server (Linux용)
※ 홈페이지에서 다운 받아도 됨
Download MariaDB Server - MariaDB.org
REST API MariaDB Repositories Release Schedule Reporting Bugs […]
mariadb.org
2. 다운로드 한 파일 설치하기
1) 다운로드 디렉터리로 이동
cd 다운로드/
2) 다운로드 받은 rpm 패키지 파일 설치
dnf -y install ga*.rpm Maria*.rpm
3) 다음 명령을 차례로 입력해 서비스 가동
- active (running) 확인되면 q누르고 나오기
systemctl restart mariadb
ststemctl enable mariadb
systemctl status mariadb
4) 방화벽 설정
firewall-config
- [설정]에서 [영구적]을 선택한 후 [영역]에서 [public]이 선택된 상태로 오른쪽 [서비스] 탭 [mysql]의 체크
- [옵션]-[Firewalld 다시 불러오기]를 선택한 후 창 닫기
5) MariaDB 서버 접속
mysql
- MariaDB [(none)] > 프롬프트가 나오면 서버에 정상적으로 접속된 것
☞ mysql 명령을 입력하면 아무런 확인 절차 없이 그냥 MariaDB 서버에 접속된다.
CentOS를 설치했을 때, 별도의 사용자를 생성하지 않아도 root사용자는 원래 존재했었고, 설치과정 중에서 root사용자의 비밀번호만 지정했었다.
마찬가지로 MariaDB 서버를 설치하면 root라는 이름의 데이터베이스 사용자가 자동으로 생성되며, 비밀번호는 지정하지 않은 상태로 설치된다.
※ 데이터베이스 사용자인 root는 MariaDB 서버 안에서 모든 권한을 실행할 수 있는 데이터베이스 관리자이다.
운영체제 사용자인 root와 전혀 별개의 사용자다.
원칙적으로 MariaDB 서버에 접속하려면 mysql -h 접속할컴퓨터 -u DB사용자이름 -p 명령을 실행한 후,
데이터베이스의 사용자의 비밀번호를 입력해서 접속해야 한다.
그런데 옵션을 모두 생략하고 mysql 명령만 실행하면, 우선 MariaDB가 설치된 컴퓨터를 현재 컴퓨터로 간주하고 현재 운영체제의 사용자와 같은 이름인 root 사용자 권한으로 비밀번호 없이 접속하게 된다.
즉, 현재 사용 중인 컴퓨터에 현재 운영체제 사용자 이름과 데이터베이스 사용자의 이름이 root이고,
아직 데이터베이스 사용자인 root에 비밀번호를 넣어준 적이 없으므로 MariaDB서버에 그냥 접속되는 것이다.
그러므로 보안 문제를 위해 데이터베이스 사용자 root의 비밀번호를 지정하는 것이 좋다.
3) 보안에 중요한 데이터베이스 관리자 root의 비밀번호를 설정
1) 데이터베이스 관리자 root의 비밀번호를 1234로 변경
mysqladmin -u root password '1234'
이제 외부에서 접속할 때는 mysql 명령을 입력해서 접속할 수 없다.
mysql -h localhost -u root -p 명령을 입력해 MariaDB서버에 접속 후 비밀번호 입력해야 한다.
※이전 버전인 10.3에서는 현재 로그인한 운영체제 사용자가 누구든 비밀번호를 입력해야 했다.
4)다른 서버에서 Server에 설치된 MariaDB서버에 접속하기
1) MariaDB에 접속하려면 MariaDB 클라이언트가 필요하다. 이때 운영체제에 맞는 파일을 다운로드 해야 한다.
2) 다운로드한 파일로 설치를 시작한다.
-Next, [I accpt the term ...]체크
-Custom Setup이 나오면 [Client Programs]만 설치되도록 설정 (나머지 x표시)
-Install
5) WinClient 서버에서 접속할 사용자 생성하기. (Windows 사용자는 winuser로 생성)
※ 데이터베이스 사용자 이름과 비밀번호만 안다고 아무 컴퓨터에서나 접속할 수 없게 설정한다.
MariaDB 서버에 접속하려면 접속하는 컴퓨터까지 지정해놓은 곳에서만 접속해야 한다.
1) MariaDB 접속
mysql -u root -p
2) 접속 후 다음 SQL문을 입력해 mysql 데이터베이스에 있는 'user' 테이블 조회
( 사용자 이름이 비어 있는 것은 제외)
USE mysql;
SELECT user, host FROM user WHERE user NOT LIKE '';
-MariaDB 서버를 설치하면 mysql, test 두 데이터베이스가 자동으로 생성됨.
mysql에는 MariaDB 서버와 관련된 모든 시스템 정보가 들어 있다. 그중에서 MariaDB 서버에 접속할 사용자 정보 테이블인 user라는 테이블을 확인하는 것이다.
3) WinClient의 정확한 IP 주소만으로 사용자를 생성할 수 있다.
필자는 WinClient의 IP주소가 192.168.111.137이므로
사용자이름@192.168.111.137 사용자를 생성하면 된다.
그런데 WinClient는 동적 IP주소를 사용하기 때문에 재부팅 시 문제가 발생한다.
이를 해결하려면 192.168.111.000으로 시작하는 IP주소 모두가 접속할 수 있게 아래와 같이 사용자를 생성하면 된다.
GRANT ALL ON *.* TO winuser@'192.168.111.%' IDENTIFIED BY '4321';
→ '사용자 winuser@192.168.111.%의 비밀번호를 4321로 생성하라. 그리고 모든 데이터베이스와 테이블에 모든 권한을 행사할 수 있도록 하라.'
▷GRANT 구문 (GRANT는 사용자를 생성해주는 SQL문)
GRNAT 사용권한 ON 데이터베이스이름.테이블이름 TO 사용자이름@ '호스트이름' IDENTIFIED BY '비밀번호';
winclient 또는 호스트 운영체제에 접속해서 명령 프롬프트에서 다시
mysql -h 192.168.111.100 -u winuser -p 명령을 입력해 winuser 사용자로 접속해보면 정상적으로 접속된다.
이제 Server에서든 Winclient에서든 똑같이 MariaDB 서버에 접속해서 사용할 수 있다.
'Linux' 카테고리의 다른 글
CentOS8 + MongoDB (0) | 2020.10.07 |
---|---|
APM설치, dnf로 쉬운 설치하기 (0) | 2020.10.07 |
리눅스 기본명령어 (0) | 2020.09.29 |
리눅스 vi 에디터 단축키 (1) | 2020.09.29 |
리눅스 이론 (0) | 2020.09.29 |