본문 바로가기
정보관리(데이터베이스, DB)/MariaDB

정보관리_MariaDB 접속 방법과 데이터베이스, 사용자 계정 생성

by 3604 2022. 12. 1.
728x90

 

 

출처: https://zorba91.tistory.com/4

1. MariaDB 접속 방법:

 

1) 터미널에서 mysql 서버를 돌린다. 

 

mysql.server start

 

 

2) MariaDB에 접속해보자.

 

mysql -u root 

 

(명령문을 몇개 돌려보니 추측컨대,  mysql -u (사용자 계정 이름) -p (데이터베이스 명)을 입력하면 접속 가능한 것 같다.)

 

 

참고: query문 말고 mysql의 명령문이 궁금하다면, help를 치면 된다. (터미널 명령문을 잘 몰라서 MariaDB 안에서 밖으로 나오는 방법을 한참 찾았다.  quit 또는 \q만 치면 바로 나와졌다.)

 

 

2. 데이터베이스 생성, 삭제 방법:

 

1) 데이터베이스 생성(MariaDB 접속 후에 수행해야 한다.)

 

create database testDB(DB 이름);

 

2) 데이터베이스 삭제

 

drop database testDB(DB 이름);

 

3) 데이터베이스 확인

 

show databases;

 

4) mysql 사용 방법

 

use mysql 

 

 

 

3. 사용자 생성과 권한 부여 방법:

 

1) 만약 tester라는 유저 이름과 비밀번호 1234 를 가진 계정을 생성하려고 한다.

 

create user 'tester'@'localhost(접근권한 수준)' identified by '1234';

 

 

2) tester 계정에게 DB의 모든 사용권한을 부여하고자 한다. 여기에서 @는 사용자 접근 방법 중 default이다

 

    모든 이가 접근가능함을 의미한다. 만약 localhost로 바꾼다면 본인만 접속 가능.

 

    유저를 localhost만 접근가능하게 만들었기 때문에 다음과 같이 코드를 쳐야한다.

 

 

grant all privileges on testDB.* to tester@’localhost’;

 

 

3) 사용자 계정 확인 방법(MariaDB 접속상태가 아닌 터미널 초기 상태에서 실행)

 

위에서 만든 유저 이름 tester 비밀번호 1234를 확인하고자 한다면, 

 

mysql -u tester -p

 

를 입력하면 패스워드를 입력하라고 하는데, 비밀번호를 그대로 입력하면 된다.

 

출처: https://power-overwhelming.tistory.com/37

MariaDB Database생성

MariaDB[(none)]> create database mysql;

 

Database 생성 확인

MariaDB[(none)]> show databases;

 

 

MariaDB 유저 생성

MariaDB[mysql]> create user 'username'@'localhost' identified by 'password';  [하늘색 글자 임의로 지정]

MariaDB[mysql]> create user username@'localhost' identified by 'password';  [하늘색 글자 임의로 지정]

MariaDB[mysql]> create user username@'localhost' identified by 'password';  [하늘색 글자 임의로 지정]

MariaDB[mysql]> create user username@'%' identified by 'password';  [하늘색 글자 임의로 지정]

 

localhost 로 지정하면 외부 접근 불가능 , % 혹은 특정 IP를 지정하여 외부접속 허용

 

MariaDB 유저 삭제

MariaDB[mysql]> drop user username

 

MariaDB 권한 부여

MariaDB[mysql]> grant all privileges on Database.Table to User@'localhost'; 

[ User 에게 DB의 해당 테이블에 대한 모든 권한 부여 ]

 

MariaDB[mysql]> flush privileges;

 

MariaDB[mysql]> grant select on  Database.Table to User@'localhost'; 

[ User 에게 DB의 해당 테이블에 대한 select 권한을 부여 ]

 

MariaDB[mysql]> flush privileges;

 

FLUSH PRIVILEGES;  권한 변경 내용 적용

- 이 명령어를 입력하지 않으면 해당 변경 내용 적용되지 않으며

- 변경사항이 있는 User에 flush 를 하지않으면 해당 User 삭제 불가능 

ERROR 1396 (HY000): Operation DROP USER failed for 'user'@'localhost' 에러 발생 )

 

보유 권한 확인

MariaDB[mysql]> show grants for '유저명'@'접속위치';

 

MariaDB 권한 삭제

MariaDB[mysql]> revoke all privileges on Database.Table fromUser@'localhost';

[ User의 해당 권한 삭제 ]

 

 

MariaDB User List 확인

MariaDB[mysql]> select host,user,password from mysql.user;

 

or 

 

MariaDB[mysql]> select host,user,password from mysql.user where user='username'; 

[찾고자 하는 user가 있는 경우]

 

 

MariaDB Table List 확인

MariaDB[mysql]> show tables;  

[단, database에 접속 된 상태에서 = 현재 db : mysql ] 

 

728x90