중복 된 질문이라고 생각하기 전에, 다소 희미한 경우 라 할지라도 나는 고유하다고 생각합니다.MySQL 데이터베이스에서 권한 제거
며칠 전 우분투 10.04 서버의 MySQL 버전을 5.3.3으로 업그레이드했습니다 (우분투 10.04보다 앞서 있음). 오늘, 나는 뭔가를 위해 phpMyAdmin에 로그인하려고 시도하고 다소 두려운 Connection for controluser as defined in your configuration failed
오류를 발견했습니다.
이 문제를 해결하는 방법에 대한 몇 가지 질문에 대한 설명을 따른 후에 나는 갇혀있다.
- 내가 성공하지, reconfigure phpMyAdmin을 시도했다.
- uninstall phpMyadmin and reinstall으로 시도했지만 db에서 권한을 제거 할 수 없어 실패했습니다.
- 그런 다음 사용자의 manually remove the privileges을 시도했습니다. 다소 어리석게도, db에서 추가 한 다음 db를 삭제 한 다음 사용자 (
flush privileges
)와 함께 삭제할 수 있습니다.
나는 전체가 완전히 phpMyAdmin을의 설치 떨어졌다 (응용 프로그램을 삭제하고는/etc/phpMyAdmin을 디렉토리) 및 다시 설치는 (apt-get을 사용)하지만이 phpMyAdmin을 사용자에 대한 권한이 이미 존재했다 :
granting access to database phpmyadmin for [email protected]: already exists
그래서 여기에 내가 남겨둔 것이있다. 나는 수정하거나 취소 할 수 없습니다 지원금이 있습니다
이mysql> show grants for 'phpmyadmin'@'localhost';
+-------------------------------------------------------------------------------------------------------------------+
| Grants for [email protected] |
+-------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'phpmyadmin'@'localhost' IDENTIFIED BY PASSWORD '*46CFC7938B60837F46B610A2D10C248874555C14' |
| GRANT ALL PRIVILEGES ON `phpmyadmin`.* TO 'phpmyadmin'@'localhost' |
+-------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.26 sec)
mysql> revoke usage on *.* from 'phpmyadmin'@'localhost';
ERROR 1141 (42000): There is no such grant defined for user 'phpmyadmin' on host 'localhost'
mysql> revoke usage on *.* from 'phpmyadmin'@'localhost' identified by 'trustno1';
ERROR 1141 (42000): There is no such grant defined for user 'phpmyadmin' on host 'localhost'
(난 더 이상이 암호를 사용하지 않는, 걱정하지 마세요, 그러나 이전에 사용 된 암호였다을 그리고 내가 선택한 암호 아니다 새로운 phpmyadmin 설치).
어떻게 이러한 보조금/특권을 완전히 제거합니까? 필요하다면 처음부터 다시 시작하게되어 기쁩니다 (phpmyadmin 즉, db가 아닙니다).
이 후에 '특권'을 가져야합니까? –
오늘까지 이것을 볼 수 없었습니다. 그리고 당신의 대답이 권한 문제를 해결했습니다, 감사합니다. 그러나, 내 '구성에 정의 된대로 제어 사용자에 대한 연결에 실패했습니다.'오류가 남아 있지만 다른 문제입니다. – Cyntech
'DROP USER'는 mysql.user 및 mysql.db 테이블에서 사용자 액세스를 완전히 제거하는 데 필요한 모든 것입니다. 'REVOKE'는 지정된 권한에 대한 테이블 중 하나 또는 둘 모두에서 권한 플래그를 단순히 'N'으로 토글하지만 사용자는 그대로 남겨 둡니다. 그리고 네,'REVOKE' 문 다음에'FLUSH PRIVILEGES'가 필요합니다.'DROP' 조작 후에는 그렇지 않습니다. –