[MySQL] 계정 관리Database/MySQL2022. 11. 27. 23:28
Table of Contents
반응형
MySQL에서 계정 생성 및 권한 부여와 계정 정보 수정하는 방법에 대해 알아보겠습니다.
로그인
root의 패스워드를 입력하여 로그인합니다.
$ sudo mysql -u root -p
계정 확인
MySQL [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| test |
| triplet_db |
+--------------------+
6 rows in set (0.435 sec)
MySQL [(none)]> use mysql;
Database changed
다음 명령어를 실하여 사용자 계정들을 확인합니다.
MySQL [mysql]> SELECT user, host FROM user;
+-------------+-----------+
| User | Host |
+-------------+-----------+
| | localhost |
| mariadb.sys | localhost |
| mysql | localhost |
| root | localhost |
+-------------+-----------+
계정 생성
사용자 계정을 생성하는 방법입니다.
CREATE 문으로 생성
CREATE USER '계정명'@'localhost' IDENTIFIED BY '비밀번호';
INSERT 문으로 생성
INSERT INTO user (host, user, password) VALUES ('localhost', '계정명', password('비밀번호'));
'localhost'를 '%'로 변경하면 원격에서 접속 가능합니다.
권한 부여
생성된 계정에 대해 모든 권한을 부여하도록 설정합니다.
GRANT 문으로 권한 부여
grant all privileges on *.* to 'USERNAME'@'%' identified by 'PASSWORD';
해당 데이터베이스에 대해서만 권한을 부여하도록 설정합니다.
grant all privileges on DB명.* to '계정명'@'%' identified by '비밀번호';
INSERT 문으로 권한 부여
INSERT INTO db (Host, Db, USer, select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv)
VALUES ('localhost', 'DB명', '계정명', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y');
DB명에 '%'를 넣으면 모든 DB를 나타냅니다.
계정 정보 변경
계정의 비밀번호 변경 하는 방법입니다.
UPDATE 문으로 변경
UPDATE user SET password=password('비밀번호') where user='계정명';
SET 문으로 변경
SET PASSWORD FOR '계정명'@'localhost' = PASSWORD('비밀번호');
계정 삭제
DELETE 문으로 삭제
DELETE FROM user WHERE user = '계정명';
DELETE FROM db WHERE user = '계정명';
DROP 문으로 삭제
DROP USER '계정명'@'localhost';
권한 삭제
REVOKE ALL ON *.* FROM '계정명';
권한 확인
MySQL [mysql]> SHOW GRANTS FOR root;
+--------------------------------------------------------------------------------------------------------------+
| Grants for root@% |
+--------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO `root`@`%` IDENTIFIED BY PASSWORD '*D08D94B3E46A8CCDA5F1682F57F8BE24F5FD1C79' |
+--------------------------------------------------------------------------------------------------------------+
1 row in set (0.002 sec)
설정 적용
위의 설정 명령어들을 실행 후 다음 명령어를 실행해야 적용이 됩니다.
flush privileges;
반응형
'Database > MySQL' 카테고리의 다른 글
[MySQL] ALTER TABLE 구문 정리 (0) | 2022.11.29 |
---|---|
[MySQL] 인덱스(INDEX) 정리 (0) | 2022.11.29 |
[MySQL] 접속 에러 해결 방법 (0) | 2022.11.27 |
[MariaDB] 계정 생성 및 권한 부여 (0) | 2022.11.13 |
[MySQL] Packet for query is too large 에러 발생시 (0) | 2022.09.12 |
@고지니어스 :: 규니의 개발 블로그
IT 기술과 개발 내용을 포스팅하는 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!