2010-06-10 7 views
2

왜 다음 보조금 명세서가 작동하지 않을 수 있습니까?MySQL 보조 문제

grant all on kylie.* to 'kylie'@'localhost' identified by 'foo'; 

다음은 전체 출력입니다.

$ mysql -A 
Welcome to the MySQL monitor. Commands end with ; or \g. 
Your MySQL connection id is 63 
Server version: 5.1.37 Source distribution 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 

mysql> show databases like 'kylie%'; 
+-------------------+ 
| Database (kylie%) | 
+-------------------+ 
| kylie    | 
+-------------------+ 
1 row in set (0.00 sec) 

mysql> grant all on kylie.* to 'kylie'@'localhost' identified by 'foo'; 
Query OK, 0 rows affected (0.02 sec) 

mysql> exit 
Bye 

$ mysql -u kylie 
ERROR 1045 (28000): Access denied for user 'kylie'@'localhost' (using password: YES) 

이 보조금 옵션은 매회 나에게 도움이되는 것처럼 보입니다. 나는 그들이 암기 된 것으로 생각하고 문서는 체크 아웃하는 것처럼 보이지만 종종 실패한다. 내가 뭘 놓치고 있니? 마지막 카일리 기본 데이터베이스로 카일리를 사용하도록 지시해야

mysql -ukylie -pfoo kylie 

(당신에 대한 권한이 즉 하나) : 같은

+0

나는 마지막 두 줄 ('foo'암호를 묻는 줄) 사이에 줄을 남겼다 고 가정합니다. – Senseful

+0

아니, 그게 문제 야. MySQL은 패스워드를 요구하지 않고 액세스 거부 에러를 내게줍니다. –

+0

~/.my.cnf 파일에 클라이언트가 (틀린) 암호를 읽을 가능성이 있습니까? –

답변

1

보십시오 뭔가. 그것은 요구되지 않을지도 모르지만, 그것이 작동하는지 아닌지 궁금합니다.

의견 덕분에 업데이트되었습니다.

+0

그게 나에게 명령을 사용하는 MySQL의 출력을 보여줍니다. 나는 또한 다음을 시도했다. "mysql -ukylie -pfoo" 그게 효과가 있습니다! 이유가 궁금합니다. –

+0

-p 옵션과 공백을 사용할 때, mysql은 패스워드를 입력 할 것을 요구한다. 연결할 데이터베이스 이름으로 foo가 필요합니다. foo라는 데이터베이스가 없기 때문에 오류가 발생합니다. 공간을 생략하면 mysql은 foo를 암호로 해석하고 데이터베이스를 kylie로 해석한다. 명령에 암호를 포함하면 기록 파일에 암호가 표시됩니다. 암호없이 -p 옵션을 사용하는 것이 더 안전합니다. mysql -p -u kylie kylie 이 경우에는 내역 파일 등에 나타나지 않는 비밀번호 – titanoboa