Mafa Dev

2. Ubuntu에서 Mysql DB 새로운 계정 추가 및 권한 부여 본문

개발/MySQL

2. Ubuntu에서 Mysql DB 새로운 계정 추가 및 권한 부여

마파_ 2022. 1. 13. 22:05

Root 계정으로 데이터 베이스 접속

  $ mysql -u root -p

 

데이터 베이스 목록 조회

  $ show databases;

 

데이터베이스 생성

  $ create databases "데이터베이스 이름";

 

사용자 계정 생성

  $ create user '사용자 계정'@'%' identified by '비밀번호';

  ex) create user 'mafa'@'%' identified by '1234';

  -> @ 뒤에 있는 '%'는 사용자 계정을 허용하는 접속 IP 이다.

      자기 자신을 뜻하는 localhost를 입력하면 mysql이 설치된 시스템에서만 접근이 가능.

      %라고 입력하면 다른 시스템에서 외부로 접근이 가능하다는 뜻.

 

생성한 계정으로 데이터 베이스 접속

  $ mysql -u mafa -p

  -> 위 과정 이후 show databases;를 하면 root로 생성한 테이블이 보이지 않음.

 

root 계정으로 접속 후 사용자 계정에게 권한을 부여 하기

  $ grant all privileges on *.* to '사용자계정명'@'%';

   ex) grant all privileges on *.* to 'mafa'@'%';

   -> 모든 권한을 사용자 계정에게 주겠다는 의미, root 계정과 동일한 기능

 

  $ grant all privileges on '데이터베이스명칭'.* to '사용자계정명'@'%';

   ex) grant all privileges on 'pyramids'.* to 'mafa'@'%';

   -> pyramids 데이터베이스에서만 사용하도록 권한을 주겠다는 의미   

 

databases 사용하기

  $ use DB이름;

 

해당 DB가 사용중인 table 목록을 조회하기

  $ show tables;

 

테이블이 가진 자료형 확인하기

  $ desc 테이블이름;

 

데이터 가져오기

Mafa_Table에서 number에 대한 정보를 가져오고 싶으면?

  $ SELECT number FROM Mafa_Table; (Table명을 FROM 뒤에 적는게 관건)  

Mafa_Table에서 user_id, user_mobile, user_gender 3가지에 대한 정보를 가져오고 싶으면?

  $ SELECT user_id, user_mobile, user_gender FROM Mafa_Table; (콤마로 구분하여 작성)

모든 열의 정보를 가져오고 싶으면?

  $ SELECT * FROM Mafa_Table;

 

데이터 정렬하기 (ORDER BY)

ORDER BY 절과 하나 이상의 열 이름을 지정하면 그 열 기준으로 출력 결과를 정렬할 수 있음.
Mafa_Table에서 user_id와 user_gender열에 대한 정보를 user gender열을 기준으로 정렬 및 출력하고 싶으면?

  $ SELECT user_id, user_gender FROM Mafa_Table ORDER BY user_gender;

  -> user gender가 숫자라면 내림차순으로 기록, 영어면 알파벳 순으로 정렬

 

아래와 같이하면 특정 날짜 내에 있는 Data를 불러올 수 있음 

  $ SELECT timestamp FROM Mafa_Table WHERE timestamp between '2021-01-01 00:00:00' and '2022-01-01 00:00:00';

 

Mafa Table에서 Pkg 칼럼중 com.mafa에 대한 모든 정보를 표시해라 

  $ select * from Mafa_Table WHERE Pkg like 'com.mafa';