본문 바로가기
MySql

MySQL의 플러시 권한은 언제 정말로 필요합니까?

by 베이스 공부 2020. 11. 8.
반응형

새 테이블과 함께 사용할 사용자를 만들 때 일반적으로 다음 명령을 호출합니다.

CREATE DATABASE mydb;
GRANT ALL PRIVILEGES ON mydb.* TO myuser@localhost IDENTIFIED BY "mypassword";

이전 두 명령을 실행 한 후 FLUSH PRIVILEGES 명령을 사용할 필요가 없었습니다. 사용자는 로그인하여 데이터베이스를 사용할 수 있으며 데이터베이스에 잘 연결되는 PHP 스크립트를 실행할 수 있습니다. 그러나 나는 내가 보는 거의 모든 튜토리얼에서이 명령이 사용되는 것을 본다.

FLUSH PRIVILEGES 명령은 언제 정말로 필요하고 언제 필요하지 않습니까?

 

해결 방법

 

GRANT 옵션을 통해 할당 된 권한은 적용하기 위해 FLUSH PRIVILEGES가 필요하지 않습니다. MySQL 서버는 이러한 변경 사항을 인식하고 즉시 부여 테이블을 다시로드합니다.


다음과 같은 명령문을 사용하여 권한 부여 테이블을 직접 수정하는 경우 INSERT, UPDATE, or DELETE, your changes have no effect on privilege checking until you either restart the server or tell it to reload the tables. If you change the grant tables directly but forget to reload them, your changes have no effect until you restart the server. This 변경 사항이 왜 효과가 없는지 궁금해 할 수 있습니다!

서버에 부여 테이블을 다시로드하도록 지시하려면 다음을 수행하십시오. flush-privileges operation. This can be done by issuing a FLUSH PRIVILEGES statement or by executing a mysqladmin flush-privileges or mysqladmin reload 명령.

계정 관리를 사용하여 간접적으로 부여 테이블을 수정하는 경우 statements such as GRANT, REVOKE, SET PASSWORD, or RENAME USER, the server notices these changes and loads the grant tables into memory 다시 즉시.

 

참조 페이지 https://stackoverflow.com/questions/36463966

 

 

반응형

댓글