#db 변경
use [db명]
#현재 사용자가 접근할 수 있도록 권한을 받은 데이터데이스 조회
SHOW DATABASES [LIKE 'pattern']
#기본 데이터 베이스 종류 information_schema: 메타데이터가 저장되는 데이터베이스 mysql: 사용자 인증 정보, stored program, 이벤트 정보 등이 저장되는 기본 베이스 performance_schema: 각종 이벤트, 잠금, 잠금 대기 등의 정보를 기록하는 테이블 구조 저장 test: test용 db, 삭제하는 것이 보안상 좋음 |
#현재 접속한 db조회
select database()
# db 목록 조회
show databases;
# 해당 db 사용
use [해당db];
use sakila;
#db생성
create database[또는 schema] [db명] default character set utf8;
create database[또는 schema] testdb default character set utf8;
create database [db명] default character set utf8;
사용자 추가 명령어
#사용자만 추가
create user [사용자id];
#특정 접속 ip 설정
create user [사용자id]@[특정ip]
#비번을 함께 설정 추가(기본은 ‘%’)
create user [사용자id]@localhost identified by ‘[비밀번호]’;
#외부에서 접근 허용
create user []@’%’ identified by ‘[비밀번호]’;
사용 권한 부여 명령어
#모든 권한 부여하기
#모든 db의 모든 테이블
grant all privileges on *.* to [userid]@host;
#해당 db의 모든 테이블
grant all privileges on [db명].* to [userid]@host;
#사용자 비밀번호 변경
grant all privileges on [db명].* to [userid]@host identified by ‘[비번]’;
grant all privileges on [db명].* to [userid]@’%’ identified by ‘[비번]’; (모든ip %)
grant select, insert, update privileges on [db명].* to [userid]@host identified by ‘[비번]’;
#권한 변경을 적용
flush privileges;
#모든 db의 모든 테이블
grant all privileges on *.* to [userid]@host;
#권한 제거하기
revoke all on [db명].[테이블명] from [userid];
#계정 삭제하기
drop user [userid]@’%’;
#현재 사용자 확인
select user();
#테이블 조회
select * from [테이블명]
select * from [db명].[테이블명]
#현재 사용자가 접근할 수 있는 테이블 조회
SHOW OPEN TABLES
#현재 db에 있는 테이블 조회
show tables
SHOW TABLES [FROM db_name] [LIKE 'pattern']
(select * from information_schema.tables; v4 에서는 information_schema db가 없음)
#해당 db의 테이블 조회
show tables from [db명]
-- (만약 information_schema db가 있다면)
#접속한 계정 테이블 조회
select * from information_schema.tables where table_schema = '[db명]'
#테이블 생성
create table [테이블명] (
id int not null,
title varchar(100) null,
constraint [테이블명]_pk primary key (id)
)
engine=innoDB
default charset=utf8
collate=utf8_general_ci
#사용자 계정 조회
select * from user
#각 db별 사용자 계정 조회
select * from [db명].user
#현재 사용자 조회
select current_user
( = select current_user())
-- v5 이상일 경우
#테이블 소유자 조회(schema_name)
select * from information_schema.schema
select * schema_name from information_schema.schema
#사용자 계정 등록하기(대소문자 구분)
#v4 일 경우 (The grant statement creates MYSQL user accounts and grants rights to accounts)
#권한으로 사용자를 생성한다.
#DB명이 테이블 소유자
grant [부여할 권한] on [db명].* to '[사용자명]'@'[host]' identified by '[비밀번호]'
예) grant all on [db명].* to '[사용자명]'@'%' identified by '[비밀번호]'
-- (all = 부여할 권한의 종류? 목록?, % = host로 %인 경우 외부접근 허용)
#사용자 권한 조회
SHOW GRANTS FOR '[사용자명]'@'[host]'
-- host 가 %일 경우 외부에서의 접근 허용
예) show grants for 'ka'@'%'
#현재 사용자에 대한 권한 조회
show grants
#전체 권한 목록 조회
SHOW PRIVILEGES
#해당 db의 테이블의 권한 조회
select * from [db명].tables_priv
-- (만약 information_schema db가 있다면)
#시스템 권한 조회하기
select * from information_schema.user_privileges
select * from information_schema.schema_privileges
#권한 부여하기
-- grant all privileges on *.* to '[사용자명]'@'[host]'
-- 권한을 부여하면서 테이블 생성해야 한다.
grant create on [db명].[테이블명] to '[사용자명]'@'[host]'
grant select, insert, update, delete on [db명].[테이블명] to '[사용자명]'@'[host]'
#변경된 권한 적용
flush privileges
#그 외 show 명령어
#컬럼조회
#full로 조회하면 collation, privileges, comment 컬럼이 같이 조회된다.
SHOW [FULL] COLUMNS FROM tbl_name [FROM db_name] [LIKE 'pattern']
show (full) columns from [db명].[테이블명];
#데이터베이스 만드는 쿼리 조회
SHOW CREATE DATABASE db_name
#테이블 만드는 쿼리 조회
SHOW CREATE TABLE tbl_name
show create table [db명].[테이블명];
#테이블 상태 조회
SHOW TABLE STATUS [FROM db_name] [LIKE 'pattern']
SHOW ENGINE engine_name {LOGS | STATUS }
SHOW [STORAGE] ENGINES
SHOW ERRORS [LIMIT [offset,] row_count]
SHOW INDEX FROM tbl_name [FROM db_name]
SHOW INNODB STATUS
SHOW [BDB] LOGS
SHOW MASTER STATUS
SHOW {BINARY | MASTER} LOGS
SHOW BINLOG EVENTS [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count]
SHOW CHARACTER SET [LIKE 'pattern']
SHOW COLLATION [LIKE 'pattern']
SHOW [FULL] PROCESSLIST
SHOW SLAVE HOSTS
SHOW SLAVE STATUS
SHOW [GLOBAL | SESSION] STATUS [LIKE 'pattern']
SHOW [GLOBAL | SESSION] VARIABLES [LIKE 'pattern']
SHOW WARNINGS [LIMIT [offset,] row_count]
'개발관련 > back-end' 카테고리의 다른 글
[dbms] DBeaver 에서 Altibase(알티베이스) 추가하기 / dbeaver 새 접속 추가하기 (0) | 2022.06.22 |
---|---|
[server 서버] 개발 환경 local, dev, production (0) | 2022.05.17 |
Database와 Data의 차이 (0) | 2022.04.19 |
cubrid 개발DB 에서 localhostDB로 복사하기 (0) | 2021.10.12 |
cubrid 큐브리드 윈도우즈 실행 (0) | 2021.08.30 |