새 테이블과 함께 사용할 사용자를 만들 때 일반적으로 다음 명령을 호출합니다.
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
'MySql' 카테고리의 다른 글
MySQL XAMPP에서 MySQL 로그 파일은 어디에서 찾을 수 있습니까? (0) | 2020.11.08 |
---|---|
MySQL Rails는 무작위 레코드를 선택합니다. (0) | 2020.11.08 |
MySQL GROUP BY 쿼리로 행 수 얻기 (0) | 2020.11.08 |
MySQL 이름이 모음으로 시작하고 끝나는 지 확인하는 SQL 쿼리 (0) | 2020.11.08 |
MySQL Workbench에서 열 플래그는 무엇을 의미합니까? (0) | 2020.11.08 |
댓글