반응형
1. DB 로그인
$ mysql -u root -p
$ use mysql
2. 데이터베이스
데이터베이스 생성
CREATE DATABASE DatabaseName DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
#DatabaseName 데이터베이스 이름
데이터베이스 확인
SHOW DATABASES;
3. 사용자
사용자 확인
SELECT HOST, USER, PASSWORD FROM user;
사용자 생성
CREATE USER 'userName'@'%' IDENTIFIED BY 'password';
CREATE USER 'userName'@'127.0.0.1' IDENTIFIED BY 'password';
사용자 계정 삭제
DROP USER userName@'%';
DROP USER userName@'localhost';
4. 사용자 권한
◾ 사용자 권한 확인
SHOW GRANTS FOR 'userName'@'%';
◾ 사용자 권한 추가 1(모든 권한)
GRANT ALL PRIVILEGES ON databaseName.tableName TO userName@'%' identified by 'password';
GRANT ALL PRIVILEGES ON databaseName.* TO userName@'127.0.0.1' identified by 'password';
◾ 사용자 권한 추가 2(일부 권한)
권한 추가할 계정을 확인하여, USAGE로 아무런 권한 없는 계정이 맞는지 확인한다. 이것은 모든 글로번 권한을 'N'으로 설정한 것으로 이 계정에 특정 권한을 나중에 승인할 것이라는 가정을 하는 것이다. 이후 해당 계정에 권한을 할당한다.
# 사용자 권한 확인
SHOW GRANTS FOR 'userName'@'%';
결과: grant usage on *.* to 'testuser'@'locahost';
# 권한 추가
GRANT 권한 ON 데이터베이스.테이블 TO '아이디'@'호스트' IDENTIFIED BY '비밀번호';
GRANT 권한(컬럼명) ON 데이터베이스.테이블 TO '아이디'@'호스트' IDENTIFIED BY '비밀번호';
🎈권한 종류
개발자: DELETE, INSERT, SELECT, UPDATE
설계자: ALTER, CREATE, DELETE, DROP, INDEX, INSERT, SELECT, UPDATE, DELETE, INSERT, SELECT, UPDATE
DBA: ALL
◾ 사용자 권한 삭제
REVOKE ALL ON databaseName.tableName FROM 'userName'@'%';
REVOKE DELETE ON databaseName.tableName FROM 'userName'@'%'; --DELETE 권한만 삭제
5. 새로고침
FLUSH PRIVILEGES;
6. 비밀번호 변경
# 10.4 이상 버전 (https://my.oops.org/195)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'PASSWORD_STRING';
# 10.4 미만 버전
update user set paaword=password('바꿀 비밀번호') where user='바꿀 유저계정';
7. 캐릭터셋
캐릭터셋 확인
select * from information_schema.SCHEMATA;
DB 캐릭터셋 확인
alter database dbName CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
테이블 캐릭터셋 변경
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
반응형