MariaDB를 설치 완료했다. 이제 새로운 데이터베이스, 계정을 만들 시간이다. 

그리고 권한을 부여해볼거다. DB의 정보는 소중하기에 외부에서 우리 DB정보 참고를 원할때에는 모든 권한을 가진 계정을 주면 안될거니까.

보통 select 권한만 가진 계정을 알려준다고 한다.



root 계정으로 접속

mysql -u root -p



database 확인

show databases;



mysql 데이터베이스에서 사용자 확인

use mysql
select user, host from user;



새로운 데이터베이스 생성

create database 데이터베이스이름;

ex) create database testdb;


1. 계정을 생성한 뒤 권한을 부여하는 방법

계정 생성

create user '계정이름'@'host주소' identified by '비밀번호';

ex) create user 'test01'@'localhost' identified by 'test01';

host주소 => 1. 특정ip 2. localhost (localhost만 접속) 3. % (외부 접근 모두 허용)


권한 부여

grant 권한 on DB명.테이블명 to '계정'@'host주소';

ex) grant all privileges on *.* to 'test01'@'localhost'; => 모든 DB의 모든 테이블에 대해 모든 권한을 부여
ex) grant select on testdb.* to 'test01'@'localhost'; => testdb의 모든 테이블에 대해 select 권한만을 부여


권한 적용

flush privileges;



2. 계정을 생성하는 동시에 권한을 부여하는 방법

grant 권한 on DB명.테이블명 to '계정'@'host주소' identified by '비밀번호'



 

나는 이전에 수박 겉핥기 식으로 oracle과 ms-sql을 사용해봤다.

이젠 수박 겉핥기 식으로 mysql을 사용해볼 차례이다.

요즘엔 mysql보다는 mariadb를 많이 사용한다더라. 같은 사람이 만들어서 사용법은 거의 같다고 한다.

게다가 mysql과 mariadb는 오픈소스다. 돈을 낼 필요가 없다는 말이다.

 

자 시작하자.

mac에서 mariadb를 설치할 때에는 homebrew를 사용한다. homebrew는 이미 설치되어있다고 생각하겠다. 

 

1. brew install mariadb

 

2. mysql.server start (mariadb 서버 구동)

 

3. mysql -u root (root 계정으로 접속)

안된다. mairadb 설치 후 root 계정으로 접속하라는데 안된다. 접근이 거부되었단다. 혹시 몰라서 root 권한으로 시도해봤다.

sudo mysql -u root

이건 또 접근 가능하다. 하지만 왜 root 권한 없이는 root 계정으로 접속을 못할까? 의문이 들었고 해결하고 싶었다. 바로 구글링.

해결법을 찾았다. root 계정의 비밀번호를 바꿔주고 maraiadb 설정도 해줘야한다.

 

4. sudo mariadb-secure-installation (mariadb 보안 설정)

설치 후 최초 접근이니 비밀번호는 없을거다. enter

 

이건 사실 무슨 말인지 모르겠다. mysql 사용자와, 시스템 사용자를 일치시킨다는 의미라고 한다. Y

 

root 계정 비밀번호 변경. Y. 새로운 패스워드 두 번 입력한다.

 

설치될 때 익명 사용자가 추가되었다는데 삭제한다. Y

 

원격으로 root 계정을 접속을 할수 있도록 할 것인지 묻는다. 일단 나는 접속 못하도록 할거다. Y.  root 계정 원격 접속이 필요하다면 N.

 

test database가 있단다. 삭제하자. Y

 

권한 새로고침. Y.

이제 설정이 끝났다. 다시 root 계정으로 접속해보자.

 

5. mysql -u root -p 

됐다! database 목록을 보자.

show databases;

원래 test database가 있는데 삭제된 걸 볼 수 있다.

이제 mariadb의 계정 목록을 확인해보자.

use mysql

select user, host from user;

keundeok? 뭐야 나잖아? 아무튼  root 계정으로 계속 사용할 수는 없으니 이젠 새로운 계정과 데이터베이스를 생성해야한다.

그건 다음 포스팅에... 언제가 될 지는 모른다. 안녕.

'SQL' 카테고리의 다른 글

MariaDB 데이터베이스 생성, 계정 생성, 권한 부여  (1) 2020.06.08

+ Recent posts