2011-08-06 3 views
5

방금 ​​SELECT 호스트, 사용자, 암호를 mysql.user에서했습니다. 다음과 같은 결과가 나타납니다.mysql.user에 중복 된 사용자가 있습니다.

 
+-------------------------------------+----------+-------------------------------------------+ 
| Host        | User  | Password         | 
+-------------------------------------+----------+-------------------------------------------+ 
| localhost       | root  | *CFB0F01E12976D94C46201145940E3EF71E32742 | 
| my_name_goes_here-MacBook-Pro.local | root  | *CFB0F01E12976D94C46201145940E3EF71E32742 | 
| 127.0.0.1       | root  | *CFB0F01E12976D94C46201145940E3EF71E32742 | 
| ::1         | root  | *CFB0F01E12976D94C46201145940E3EF71E32742 | 
| localhost       |   |           | 
| my_name_goes_here-MacBook-Pro.local |   |           | 
| %         | testuser | *00E247AC5F9AF26AE0194B41E1E769DEE1429A29 | 
+-------------------------------------+----------+-------------------------------------------+ 

중복 된 항목을 어떻게 제거합니까? (내 하드 드라이브에 mysql (5.5.8)의 이전 버전도 있습니다.)

+4

중복 된 항목이 없습니다. – keymone

답변

7

중복 항목이 없습니다. 각 호스트/사용자 조합에 대해 하나의 행이 있습니다.

SELECT Host, User, Password FROM mysql.user WHERE User LIKE ''; 

: 당신이 하나를 제거해야하는 경우 그러나이 쿼리는 빈 사용자가 실제로 ''이름이 있음을 보여줍니다

답변을 DROP USER

추가를 보라 즉 다음과 같이 제거 할 수 있습니다.

DROP USER ''@'localhost'; 
DROP USER ''@'my_name_goes_here-MacBook-Pro.local'; 

정말로 제거하고 싶은지 확인하십시오. 어쩌면 거기에 있고 이들 서로 다른 호스트 이름을 사용하여 연결해야하는 프로세스가있을 수 있습니다.

+1

그러나 모두 떨어 뜨리지 않도록주의하십시오. – GolezTrol

+0

나는 암호가없는 localhost와 my_name_goes_here-MacBook = Pro.local 행을 의미합니다. – skiabox

+0

네,하지만 그것들의'User' 값은 비어있어 * 중복되지 않습니다 *. –