클라이언트 (호스트 컴퓨터에 있음)에 응답하기 위해 MySQL 서버 (VM 내부에 있음)를 가져 오려고합니다. 모든 메소드는 동일하게 리턴됩니다.
Host '10.0.2.2' is not allowed to connect to this MySQL server
올바른 포트 전달을 보장했습니다. 나는 또한 my.cnf
다음과 같은 선을 확보했다 .
skip-external-locking
bind-address = 0.0.0.0
이것은 나에게 효과가 없었다. 나는 또한 다음과 같이 조금 연주하려고 노력했다.
bind-address = 10.0.2.2
그러나 이것은 나에게도 효과가 없었습니다. 서버는 시작할 수 없었습니다.
내가 잘못한 아이디어가 있습니까?
최신 정보. 이미 작성된 MySQL 사용자의 권한을 어떻게 변경합니까?root@%
에서와 같이 권한을 확인하지 않았습니다 .
해결되었습니다.
답변
대부분의 기본 설치에서 루트 계정의 로컬 호스트 전용입니다. 다른 시스템에서 로그인 할 수 있습니까? 로부터 MySQL을 참조 설명서 :
사용자 테이블에 클라이언트 호스트와 일치하는 호스트 값을 가진 행이 없음을 의미합니다.
그래서, 더 없다 %
또는 10.0.2.2
에 Host
전혀 열입니다. 현재 구성을 확인하십시오.
select user,host from mysql.user where user='root';
현재와 동일한 비밀번호로 새 루트 항목을 작성하려고합니다.
create user 'root'@'10.0.2.2' identified by 'yourpassword';
grant all privileges on *.* to 'root'@'10.0.2.2' with grant option;
flush privileges;