2014-07-13 4 views
1

나를 로그인 유지하지만, 내가 있기 때문에, 루트로 로그인하고 있지 않다 나타납니다액세스 MySQL은 익명 사용자

SELECT USER(),CURRENT_USER(); 

반환 :

+----------------+----------------+ 
| USER()   | CURRENT_USER() | 
+----------------+----------------+ 
| [email protected] | @localhost  | 
+----------------+----------------+ 

와 나는 캘리포니아, GRANT 또는 UPDATE 같은 행정 명령을 수행 할 수 없습니다 해요 n은 information_schema 테이블 만 볼 수 있습니다.

+0

나는 보통 "-u"와 "root"사이에 공백이 있습니다. – duffymo

+0

사람들은 두 변종을 사용하는 것을 보았습니다. 어쨌든'-u root '는 같은 결과를 준다. –

답변

0

http://dev.mysql.com/doc/refman/4.1/en/information-functions.html#function_current-user는 말한다 : How to start MySQL with --skip-grant-tables?를하거나 init 파일 http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html로 MySQL의 시작 : 루트로 로그인 할 수없는 경우

The value of CURRENT_USER() can differ from the value of 
USER(). ... One way this might occur is that there is no 
account listed in the grant tables for davida. 

, 사용 권한을 확인하지 않고 MySQL을 시작할 수 있습니다. 두 번째 옵션의 경우 테이블에 루트 사용자가 없으므로 UPDATE 대신 INSERT를 사용해야합니다.

+0

괜찮지 만 루트 사용자에게 액세스하지 않고 권한 테이블을 편집하는 방법은 무엇입니까? –

+0

답변을 업데이트했습니다. 나는 그것이 도움이되기를 바랍니다. –

+0

첫 번째 해결책은 나에게 도움이 안된다. (나는 아직 익명이다.) 2 차 에러가 난 후에'ERROR 2002 (HY000) : 소켓을 통해 로컬 MySQL 서버에 연결할 수 없다 '/var/run/mysqld/mysqld.sock '(2)'mysql에 액세스하려고 시도했을 때 –