Mariadb

Pywiki
Sam (토론 | 기여)님의 2022년 4월 4일 (월) 19:16 판 (→‎외부접속 허용하기)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
둘러보기로 가기 검색하러 가기

1 개요

mysql과 유사한..(하지만, 더 사용하기 용이한..) DB.(언젠가 mysql과 함께 다른 위키로 옮기는 건 어떨까...?)

2 외부접속 허용하기

2.1 윈도우에서

먼저 포트포워딩이 진행되어야 한다. 기본 포트는 mySQL과 동일하게 3306.

mariaDB를 설치하면 MySQL Client(MariaDB *.*)가 함께 설치된다. 이걸 실행한 후 다음과 같이 명령하면 된다.

GRANT ALL ON *.* TO username@'address' IDENTIFIED BY 'passw0rd';

모든 ip에서 허용해 주려면 address 대신 %를 넣으면 된다.(192.168.%.% 형태의 바리에이션도 가능하다.)

2.2 리눅스에서

기본적으로 접속은 localhost에서만 가능하다. 외부접속을 위해선 2가지 과정이 필요하다.

과정 설명
외부에서 접속 가능한 계정 만들기 mysql -u root -p 로 mysql을 실행한 후 SELECT User, Host, plugin FROM mysql.user;를 쳐보면, Host가 localhost로 되어있을 것이다.

새로운 ip에 맞게 유저를 만들어주어야 한다.(같은 유저라도 호스트에 따라 다른 계정이 된다.)

과정 설명
계정 만들기 CREATE USER '계정명'@'%' IDENTIFIED BY '비밀번호';


계정명 뒤의 옵션에 따라 허용해주는 ip가 달라진다.

옵션 설명
% 모든 아이피 허용
111.222.% 111.222로 시작하는 아이피 모두 허용
111.222.11.22 111.222.11.22만 허용
권한부여 *.* 은 모든 DB의 모든 table을 의미한다. GRANT ALL PRIVILEGES ON *.* TO '계정'@'%';
인증비밀번호설정 비밀번호까지 다시 설정해주어야 제대로 된다. update user set password=PASSWORD('비밀번호') where user='계정';


최신버전이라면 해당 계정으로 접속한 후에

set password=password('비밀번호');

바인드주소 지우기 /etc/mysql/mariadb.conf.d 에서 50-server.cnf 파일을 편집한다.(버전, 운영체제 버전에 따라 다를 수 있다.)

바인드 어드레스를 다음과 같이 주석처리한 후 저장. #bind-address = 127.0.0.1

이후 sudo service mysql restart

2.2.1 mysql 포트 확인

mysql에 접속한 후 mysql> show global variables like 'port'; 명령어로 사용하고 있는 포트번호를 알 수 있다.(일반적으로 3306)

3 백업

mysqldump도 먹긴 하지만, 어째서인지 복원하고 나면 기존 DB보다 크기가 커지고, 행의 갯수가 달라지는 경우가 생긴다. 때문에 이곳에선 mariabackup에 대해 안내한다.

3.1 백업

백업파일 경로는 비어있거나 없는 디렉터리어야 한다.

mariabackup --backup --target-dir=경로 -u 사용자계정 -p 비밀번호