Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 데이터베이스에 복제(Replication) 권한을 부여하는 방법

MySQL 복제 권한 부여 개요

MySQL에서 특정 사용자에게 복제(replication) 권한을 부여하려면 GRANT REPLICATION SLAVE 구문을 사용합니다. 이 권한은 주로 마스터-슬레이브 복제 환경을 구성할 때 슬레이브 서버가 마스터 서버에 접속하여 바이너리 로그를 읽을 수 있도록 하는 데 필수적입니다.

1단계: 기존 사용자 목록 확인

권한을 부여하기 전에 먼저 MySQL의 mysql.user 테이블에서 등록된 모든 사용자 이름과 호스트를 확인합니다.

mysql> select user,host from mysql.user;

위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.

+------------------+-----------+
| user             | host      |
+------------------+-----------+
| Bob              | %         |
| Charlie          | %         |
| Robert           | %         |
| User2            | %         |
| mysql.infoschema | %         |
| mysql.session    | %         |
| mysql.sys        | %         |
| root             | %         |
| @UserName@       | localhost |
| Adam             | localhost |
| Adam Smith       | localhost |
| Chris            | localhost |
| David            | localhost |
| James            | localhost |
| John             | localhost |
| John Doe         | localhost |
| Mike             | localhost |
| User1            | localhost |
| am               | localhost |
| hbstudent        | localhost |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
+------------------+-----------+
22 rows in set (0.00 sec)

2단계: 복제 권한 부여하기

이제 GRANT REPLICATION SLAVE 구문을 사용하여 사용자 'Mike'에게 복제 권한을 부여해 보겠습니다. 여기서 *.*는 모든 데이터베이스와 모든 테이블에 대한 권한을 의미합니다.

mysql> GRANT REPLICATION SLAVE ON *.* TO 'Mike'@'localhost';
Query OK, 0 rows affected (0.20 sec)

3단계: 권한 부여 결과 확인

권한이 정상적으로 부여되었는지 확인하려면 SHOW GRANTS 명령어를 사용합니다.

mysql> SHOW GRANTS FOR 'Mike'@'localhost';

실행 결과는 다음과 같습니다.

+------------------------------------------------------+
| Grants for Mike@localhost                            |
+------------------------------------------------------+
| GRANT REPLICATION SLAVE ON *.* TO `Mike`@`localhost` |
+------------------------------------------------------+
1 row in set (0.04 sec)

출력 결과를 보면 사용자 'Mike'@'localhost'에게 REPLICATION SLAVE 권한이 성공적으로 부여된 것을 확인할 수 있습니다.

참고 사항

복제 권한은 전역(global) 권한이므로 반드시 *.* 형태로 지정해야 하며, 특정 데이터베이스에만 부여할 수 없습니다. 또한 변경 사항을 즉시 적용하려면 FLUSH PRIVILEGES; 명령을 실행하는 것이 좋습니다.