해결책: 1. 루트 사용자에 대한 연결 가능한 호스트 범위를 보려면 "select host,user;"를 사용하십시오. 2. "update user set host='%' where user='root';"를 사용하십시오. 루트 사용자 수정 수정 권한의 호스트 범위는 모든 호스트입니다. 3. "systemctl restart mysqld"를 사용하여 데이터베이스를 다시 시작하십시오.
이 튜토리얼의 운영 환경: windows10 시스템, mysql8.0.22 버전, Dell G3 컴퓨터.
내 분석 및 해결 단계:
1. 루트 사용자의 연결 가능한 권한 호스트 범위를 확인하세요
1단계: mysql 모니터에 로그인하고 명령을 전달합니다. : mysql - uroot -p
2단계: 프롬프트에 따라 비밀번호를 입력하세요
3단계: mysql 데이터베이스를 선택하고 명령을 전달합니다. use mysql;
4단계: 명령을 전달합니다. 사용자에서 호스트, 사용자를 선택합니다.
인터페이스가 다음과 같다면 출력은 :
±----------±----------+ | host | user | ±----------±----------+ | localhost | mysql.sys | | localhost | root | ±----------±----------+
위 그림에서 볼 수 있듯이 루트 사용자가 접속할 수 있는 호스트 범위는 localhost입니다. IP는 고정되어 있지 않습니다. , 그래서 모든 호스트에 대한 권한을 직접 엽니다.
2. 루트 사용자의 연결 권한 호스트 범위를 수정합니다.
5단계: 루트 사용자의 연결 권한 호스트 범위를 임의의 호스트로 수정합니다. update user set 호스트='%' user= 'root';
6단계: 루트 사용자의 연결 권한을 다시 확인합니다. 사용자에서 호스트, 사용자를 선택합니다.
인터페이스는 다음과 같습니다.
±----------±----------+ | host | user | ±----------±----------+ | % | root | | localhost | mysql.sys | ±----------±----------+
그림에서 볼 수 있듯이 호스트는 루트 사용자의 연결 가능 권한 범위는 모든 호스트를 나타내는 "%" 기호입니다.
3. 데이터베이스 다시 시작
7단계: 권한을 수정한 후에도 여전히 원격으로 mysql 데이터베이스에 연결할 수 없으면 mysql 서버를 다시 시작하고 다음 명령을 실행해야 합니다.
systemctl restart mysqld
이 시점에서, 루트를 다시 전달할 수 있습니다. 사용자는 연결을 다시 시도할 수 있습니다.
마지막으로 예시 사진은 다음과 같습니다.
권장 학습: mysql 비디오 튜토리얼
위 내용은 mysql을 원격으로 연결할 수 없으면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!