MySQL 계정 관련 명령어

roon2020·2021년 4월 16일
0

DB

목록 보기
1/3

시작/종료/상태 확인

sudo service mysql start
sudo service mysql stop
sudo service mysql restart
sudo service mysql status

접속

mysql -u 계정명 -p 

비번 입력

유저 조회/생성/삭제

mysql에서는 유저가 "계정명(user)"+"IP주소(host)"로 식별

use mysql;

  • 조회
SELECT user,host FROM user;
  • 생성
mysql> CREATE USER '유저ID'@'IP' IDENTIFIED BY '비밀번호'; 
mysql> GRNAT ALL PRIVILEGES ON DB이름.* to 유저ID@'IP';
  • 삭제
mysql> DELETE FROM user WHERE user='유저ID'; 
mysql> FLUSH PRIVILEGES;

사실 권한을 부여하는 명령어인 GRANT를 했을 때 유저가 없으면 생성까지 해주기 때문에 grant만 써도 유저를 만들기도 가능

권한 부여

사용자에게 권한(previleges)을 부여할 때 GRANT를 사용

GRANT 부여할 권한들 ON 데이터베이스.테이블  TO '유저'@'호스트';

모든 권한 부여

GRANT SUPER ON \*.* TO '유저'@'호스트'; (deprecated)
GRANT ALL PRIVILEGES ON *.* TO '유저'@'호스트'

DB 수준의 권한 부여

GRANT EVENT ON 데이터베이스.* TO '유저'@'호스트';
GRANT EVENT ON \*.\* TO '유저'@'호스트';

오브젝트 수준의 권한 부여

MYSQL 오브젝트란?
예시

GRANT SELECT,SHOW DATABASES,SHOW VIEW ON \*.\* TO 
'SERVICE'@'LOCALHOST' IDENTIFIED BY '비밀번호'

위 예시에서는 SERVICE@LOCALHOST라는 유저에게 모든 db에 대해 SELECT,SHOW DATAVBASES,SHOW VIEW를 할 수 있는 권한을 부여


Employee 데이터 load

mysql에서 제공하는 공식 예제 데이터, 30만 튜플 이상

employees.sql이 있는 디렉토리로 이동 후

mysql -u root -p < employees.sql

employee sample data 로드시 에러
에러 해결

  • employees.sql에서 storage_engine -> default_storage_engine으로 변경
  • salaries.zip -> 압축 해제
profile
keep in positive mindset. I've got this.

0개의 댓글