GRANT가 MySQL에서 작동하지 않는 이유는 무엇입니까?
MySQL 사용자를 만들고 권한을 부여하는 방법을 보여주는 수많은 도우미 웹사이트를 보고 머리를 긁적거리고 있지만, 어떤 이유에서인지 나에게는 통하지 않는다.최신 MySQL 버전이 설치된 WinXP와 MacBook Pro 노트북을 모두 사용해 보았습니다.
다음은 제가 WordPress를 사용했을 때의 예에 불과합니다.실제 데이터베이스는 다르지만 동일한 문제입니다.
스텝은 다음과 같습니다.
mysql> mysql -uroot -p<password>
mysql> CREATE DATABASE wwordpress;
mysql> CREATE USER 'www'@'localhost' IDENTIFIED BY 'basic';
Query OK(0.14초), 영향을 받는 행 수 0개
mysql> GRANT INSERT ON wordpress.* TO 'www'@'localhost' IDENTIFIED BY 'basic';
Query OK(0.00초)에 해당하는 0행
mysql> FLUSH PRIVILEGES;
Query OK(0.03초), 영향을 받는 행 수 0개
mysql> SELECT * FROM mysql.user WHERE User='www' \G
*****************************************행호스트: localhost사용자: www비밀번호: *E85C94AF09C892339D31CF7570A970BCDC5805Select_priv: NInsert_priv: NUpdate_priv: NDelete_priv: NCreate_priv: NDrop_priv: NReload_priv: NShutdown_priv: NProcess_priv: NFile_priv: NGrant_priv: NReferences_priv: NIndex_priv: NAlter_priv: NShow_db_priv: NSuper_priv: NCreate_tmp_table_priv : NLock_tables_priv: NExecute_priv: NRepl_slave_priv: NRepl_client_priv: NCreate_view_priv: NShow_view_priv: NCreate_routine_priv: NAlter_routine_priv: NCreate_user_priv: NEvent_priv: N트리거_priv: Nssl_type:ssl_parames: x509_filename: x509_filename: max_max: 0max_max: 0max_connections: 0max_user_connections: 01열 세트(0.00초) mysql >
보시는 바와 같이 "Insert_priv: N"은 "Y"여야 합니다.
좋은 의견이라도 있나?
잘 부탁드립니다.
선택하는 것은 글로벌 권한입니다.그러나 데이터베이스(및 호스트)에 특정 권한을 부여합니다.
GRANT INSERT
ON wordpress
.* TO 'www'@'localhost' IDENTIFIED BY 'basic';
은 '이러한 권한'에되어 있습니다.db
table.syslog를 클릭합니다.
올바른 방향으로 안내하기 위해:
SHOW GRANTS FOR 'www'@'localhost'
http://dev.mysql.com/doc/refman/5.0/en/show-grants.html
사용자 GRANTED 권한이 가장 많이 저장되는 곳이 아닙니다. 시도해 보십시오.
SHOW GRANTS FOR 'www'@'localhost'
대신 데이터베이스별 권한을 표시합니다.(허가는 모든 데이터베이스에 대한 경우에만 사용자 테이블에 표시됩니다.)
MySQL에 권한이 저장되는 방법에 대한 단계별 세부사항을 소개합니다. 상황은 크게 바뀌지 않은 것 같습니다.
이 조작은 유효합니다.
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';
사용자가 편집, 삽입 또는 삭제할 수 있는 페이지에서 몇 가지 제한을 수행하려는 경우 Y 또는 N을 선택해야 할 경우 mysql.db 또는 mysql.tables_priv 테이블을 확인해야 합니다.이 테이블은 데이터베이스에 로그인(접속 작성)할 수 있는 특정 사용자가 있음을 나타내는 것이 목적인mysql.user와 달리 사용자가 테이블 또는 컬럼에 대해 어떤 권한을 가지고 있는지를 표시하도록 설계되어 있기 때문에 Y 및 N으로 자동으로 업데이트됩니다.
네, 2명의 사용자를 생성하여 데이터베이스에 대한 모든 권한을 부여한 것에 동의합니다만, 첫 번째 사용자와 동일한 방법으로 사용자에게 권한을 부여하려고 했지만 두 번째 사용자에게는 업그레이드된 권한이 부여되지 않습니다.나중에 특권을 누리다
언급URL : https://stackoverflow.com/questions/3886717/why-is-grant-not-working-in-mysql
'itsource' 카테고리의 다른 글
외부 키가 고유하지 않은 인덱스를 참조할 수 있습니까? (0) | 2022.09.06 |
---|---|
VueJS Mixins 메서드 다이렉트콜 (0) | 2022.09.06 |
모듈의 모든 기능을 나열하는 방법은 무엇입니까? (0) | 2022.09.05 |
String.split에서 파이프 딜리미터를 이스케이프해야 하는 이유는 무엇입니까? (0) | 2022.09.05 |
수천 개의 동적 컬럼이 있으면 성능 저하가 있습니까? (0) | 2022.09.05 |