MariaDB / 사용자 만들기, 수정하기, 삭제하기, 권한 부여하기, 제거하기

사용자 목록 보기

  • mysql 데이터베이스의 user 테이블에서 필요한 정보 출력
SELECT User, Host FROM mysql.user;

사용자 만들기

  • 사용자 이름 jb, 내부에서만 접속 가능, 비밀번호 1234
CREATE USER 'jb'@'localhost' IDENTIFIED BY '1234';
  • 사용자 이름 jb, 어디에서나 접속 가능, 비밀번호 1234
CREATE USER 'jb'@'%' IDENTIFIED BY '1234';
  • 사용자 이름 jb, 192.168.0.111에서 접속 가능, 비밀번호 1234
CREATE USER 'jb'@'192.168.0.111' IDENTIFIED BY '1234';
  • 이미 존재하는 사용자 이름으로 사용자를 만들려고 하면 에러가 난다. OR REPLACE를 붙이면, 이미 존재하는 사용자 이름인 경우 기존 사용자를 삭제하고 다시 만든다.
CREATE OR REPLACE USER 'jb'@'localhost' IDENTIFIED BY '1234';
  • IF NOT EXISTS를 붙이면, 같은 이름의 사용자가 없을 때만 사용자를 추가한다.
CREATE USER IF NOT EXISTS 'jb'@'localhost' IDENTIFIED BY '1234';

사용자 이름 변경하기

  • 'jb'@'localhost'를 'hs'@'%'로 변경
RENAME USER 'jb'@'localhost' TO 'hs'@'%';

사용자 비밀번호 변경하기

  • 'jb'@'localhost'의 비밀번호를 12345로 변경
SET PASSWORD FOR 'jb'@'localhost' = PASSWORD( '12345' );

사용자 삭제하기

  • 'jb'@'%' 삭제
DROP USER 'jb'@'%';
  • 'jb'@'%'가 존재하는 경우에 삭제
DROP USER IF EXISTS 'jb'@'%';

권한 부여하기

  • jb@localhost에게 test 데이터베이스의 모든 테이블에 대한 모든 권한 부여
GRANT ALL PRIVILEGES ON test.* TO 'jb'@'localhost';
  • jb@localhost가 가진 권한 출력
SHOW GRANTS FOR 'jb'@'localhost';

권한 제거하기

jb@localhost가 test 데이터베이스에 가진 모든 권한을 제거

REVOKE ALL on test.* FROM 'jb'@'localhost';
같은 카테고리의 다른 글
MariaDB / Query / GROUP BY

MariaDB / Query / GROUP BY

예제로 사용한 데이터베이스는 employees입니다. GROUP BY를 사용하면 공통 데이터를 갖고 있는 행들을 집계할 수 있습니다. 예를 들어 사번이 10001인 사원의 급여 지급 내역을 알고 싶다면 다음과 같이 쿼리합니다. SELECT emp_no, salary FROM salaries WHERE emp_no = 10001; +--------+--------+ | emp_no | salary | +--------+--------+ | 10001 | 60117 | | 10001 | 62102 | | ...

MariaDB / Query / UNION, UNION ALL

MariaDB / Query / UNION, UNION ALL

UNION 또는 UNION ALL을 이용하면 여러 테이블의 데이터를 합하여 출력할 수 있습니다. 예를 들어 다음과 같은 테이블과... SELECT * FROM test_1; +-------+-------+-------+ | col_1 | col_2 | col_3 | +-------+-------+-------+ | 1 | A | 1 | | 2 | ...

MariaDB / 샘플 데이터베이스 employees 설치하기

MariaDB / 샘플 데이터베이스 employees 설치하기

데이터베이스를 다루는 공부를 할 때 데이터가 들어있는 데이터베이스가 있으면 좋다. 데이터베이스를 직접 만드는 방법도 있지만, 공개된 샘플 데이터베이스를 이용하면 편하다. MariaDB라면 test_db를 사용하면 된다. 다음은 MariaDB에 test_db를 설치하는 방법이다. GitHub에 있는 test_db 페이지에 접속한다. Clone or download를 클릭한 다음 다운로드한다. 서버에 업로드한 다음 압축을 푼다. employees.sql가 있는 폴더에서 다음과 같이 명령하여 데이터베이스를 설치한다. mysql -u root ...

MariaDB / 함수 / FIND_IN_SET / 특정 문자열의 위치를 출력하는 함수

MariaDB / 함수 / FIND_IN_SET / 특정 문자열의 위치를 출력하는 함수

FIND_IN_SET은 특정 문자열의 위치를 출력하는 함수입니다. FIND_IN_SET( pattern, string_list ) A, B, C, D에서 B가 몇 번째 위치하는지를 출력합니다. 두 번째에 있으므로 출력하는 값은 2입니다. SELECT FIND_IN_SET( 'B', 'A,B,C,D' ); +-------------------------------+ | FIND_IN_SET( 'B', 'A,B,C,D' ) | +-------------------------------+ | ...

MariaDB / HeidiSQL / 쿼리 실행하는 방법

MariaDB / HeidiSQL / 쿼리 실행하는 방법

HeidiSQL을 실행하고 데이터베이스 서버에 연결합니다. 쿼리를 실행할 데이터베이스를 선택합니다. 탭을 클릭합니다. 쿼리를 입력하고 삼각형 모양의 아이콘을 클릭하면 쿼리가 실행됩니다. 단축키는 F9입니다. 쿼리 결과는 하단에 표시됩니다. 여러 개의 쿼리를 입력하고 실행하면, 각 결과가 별도의 탭으로 표시됩니다. 쿼리를 선택하고 을 클릭하면 선택한 쿼리만 실행됩니다. 단축키는 Shift+Ctrl+F9입니다.

MariaDB / 함수 / LIKE

MariaDB / 함수 / LIKE

다음과 같은 테이블이 있습니다. 열의 이름은 column1, 데이터는 12345, 23456 두 개가 있습니다. MariaDB > SELECT * FROM table1; +---------+ | column1 | +---------+ | 12345 | | 23456 | +---------+ WHERE를 이용하면 특정 값을 갖는 행을 출력할 수 있습니다. 예를 들어 다음은 column1의 값이 12345인 데이터를 출력합니다. MariaDB > SELECT * FROM table1 WHERE ...

DBeaver / MariaDB / CSV 가져오기

DBeaver / MariaDB / CSV 가져오기

대량의 데이터를 CSV 파일로 만들어서 테이블에 삽입할 수 있다. 명령어로도 가능하지만 툴을 이용하는 게 편하다. DBeaver에서 CSV 데이터를 Import하는 방법을 알아본다. CSV의 열과 테이블의 열이 일치하는 경우 다음과 같은 테이블이 있다고 하자. ID는 PRIMARY KEY로 자동 증가 값이다. 엑셀이나 메모장 등으로 CSV 파일을 만든다. 1행에는 열 이름을 넣는다. 자동 증가 값을 가지는 ID의 경우 ...

MariaDB / TABLE / AUTO_INCREMENT / 자동으로 증가하는 값 만들기

MariaDB / TABLE / AUTO_INCREMENT / 자동으로 증가하는 값 만들기

테이블에는 데이터를 특정할 수 있는 고유값이 있는 게 좋습니다. 고유값을 수동으로 넣을 수는 없으므로, 값을 자동으로 증가시키는 AUTO_INCREMENT를 사용합니다. AUTO_INCREMENT로 고유값이 어떻게 만들어지는지 알아보겠습니다. 사용하는 테이블 이름은 test입니다. 자동으로 증가하는 열 만들기 열 이름은 id, 데이터 타입은 정수(INT)로 만듭니다. 데이터 타입 뒤에 AUTO_INCREMENT PRIMARY KEY를 붙입니다. MariaDB > CREATE TABLE test ( id INT AUTO_INCREMENT ...

MariaDB / 함수 / IF, IFNULL, NULLIF

MariaDB / 함수 / IF, IFNULL, NULLIF

IF 문법 IF( expression1, expression2, expression3 ) expression1가 참이면 expression2를, 거짓이면 expression3을 반환합니다. 예제 SELECT IF( 2>3, 'T', 'F' ); +---------------------+ | IF( 2>3, 'T', 'F' ) | +---------------------+ | F | +---------------------+ 2>3이 거짓이므로 F를 반환합니다. SELECT IF( 2<3, 'T', 'F' ); +---------------------+ | IF( ...

MariaDB / TABLE / 열 추가하기, 열 삭제하기, 열 순서 변경하기, 열 데이터 타입 변경하기

MariaDB / TABLE / 열 추가하기, 열 삭제하기, 열 순서 변경하기, 열 데이터 타입 변경하기

데이터베이스 만들기 열(Column) 추가, 삭제 등을 해볼 테스트용 데이터베이스 jbTest를 만듭니다. CREATE DATABASE jbTest; 데이터베이스로 들어갑니다. USE jbTest; jbColumn1, jbColumn2, jbColumn3 세 개의 열을 가진 테이블 jbTable1을 만듭니다. CREATE TABLE jbTable1 ( jbColumn1 INT, jbColumn2 INT, jbColumn3 INT ) ; 다음은 현재 테이블 구조입니다. MariaDB > DESC jbTable1; +-----------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | ...