본문 바로가기

IT/MySQL

[MySQL] 사용자 생성 및 관리 총정리

# MySQL user 생성 및 관리 총정리

<목차>

** MySQL

 

 

** MySQL

 

 

1) cmd에서 mysql 실행

> mysql -u root -p

> mysql -u root -p mysql
Enter password: *******

 

 

 

 

2) mysql 데이터베이스 확인

** mysql 확인

> SHOW DATABASES;

 

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sakila             |
| sqldb              |
| sys                |
+--------------------+
6 rows in set (0.00 sec)

 

 

 

 

** 계정 생성을 위해 mysql 데이터베이스로 접근

> USE mysql; 

mysql> USE mysql;
Database changed

 

 

 

 

3) user 테이블 확인

(1) user 확인

-> user 테이블 확인

 

mysql> SHOW TABLES;
+------------------------------------------------------+
| Tables_in_mysql                                      |
+------------------------------------------------------+
| columns_priv                                         |
| component                                            |
| db                                                   |
| (중략)                                                |
| user                                                 | -- user 테이블 확인
+------------------------------------------------------+
38 rows in set (0.00 sec)

 

 

 

(2) user 현황 확인

> SELECT user, host FROM users;

mysql> SELECT host, user FROM user;
+-----------+-------------------+
| host      | user              |
+-----------+-------------------+
| %         | testuser2         |
| localhost | mysql.infoschema  |
| localhost | mysql.session     |
| localhost | mysql.sys         |
| localhost | root              |
| localhost | testuser1         |
+-----------+-------------------+
6 rows in set (0.00 sec)

 

 

 

 

4) 계정 생성

-- 내부 ip로만 접속 가능
CREATE USER 'testuser1'@localhost IDENTIFIED BY '1234';

-- 외부에서도 접속 가능
CREATE USER 'testuser1'@'%' IDENTIFIED BY '1234';

 

 

*** localhost로 하면 내부ip만 접속할 수 있고 localhost자리에 '%'로 표시하면 외부ip에서도 접속이 가능하다

 

 

 

 

 

5) 비밀번호 변경

mysql> SET PASSWORD FOR 'testuser2'@localhost = '1234';
Query OK, 0 rows affected (0.03 sec)

 

 

 

6) 계정 삭제

DROP USER 'testuser1'@localhost;

-- 조건을 걸어서 삭제
DELETE FROM user WHERE user = 'testuser1';

 

 

 

\

7) 권한 관리

-- 권한 확인
SHOW GRANTS FOR 'testuser2'@'%';

-- 권한 부여
GRANT ALL ON mydatabase.table1 to 'testuser1'localhost;
GRANT ALL PRIVILEGES ON bestproducts.* to 'testuser1'@'localhost';


-- 특정 권한 부여
GRANT SELECT, UPDATE ON mydatabase.table1 to 'testuser1'localhost;