Mafa Dev
2. Ubuntu에서 Mysql DB 새로운 계정 추가 및 권한 부여 본문
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';