MySQL 원격 액세스가 허용되지 않는 데는 여러 가지 이유가 있습니다. 다음 방법 외에도 서버 보안을 확인하고 로컬 시스템에 대한 액세스를 금지하는 3306 포트를 설정해야 합니다.
해결책:
1. 테이블 방법을 변경합니다.
귀하의 계정은 원격 로그인을 허용하지 않고 로컬 호스트만 허용할 수 있습니다. 이때, 컴퓨터의 localhost에서 mysql에 로그인하여 "mysql" 데이터베이스의 "user" 테이블에 있는 "host" 항목을 "localhost"에서 "%"로 변경하면 됩니다.
코드는 다음과 같습니다.
mysql -u root -pvmwaremysql>use mysql; mysql>update user set host = '%' where user = 'root'; mysql>select host, user from user;
2. 권한법.
예를 들어 myuser가 mypassword를 사용하여 모든 호스트에서 mysql 서버에 연결하도록 하려는 경우.
Grant OPTION을 사용하여 'mypassword'로 식별된 'myuser'@'%'에 대한 모든 권한을 부여합니다.
FLUSH 권한
사용자 myuser가 IP를 사용하여 호스트에서 mysql 서버에 연결할 수 있도록 허용하려면; 192.168.1.6 , 그리고 mypassword를 비밀번호로 사용하세요.
Grant OPTION으로 'myuser'@'192.168.1.3'에 대한 모든 권한을 부여하세요.
FLUSH PRIVILEGES
ip에서 사용자 myuser를 허용하려면; 192.168.1.6 호스트는 mysql 서버의 dk 데이터베이스에 연결하고 mypassword를 비밀번호로 사용합니다.
GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; ;
첫번째 방법을 사용했는데 처음에는 안되네요. 인터넷에서 확인해보고 mysql>FLUSH RIVILEGES 구문을 하나 줄여서 수정한 방법도 있는데 시도해보지 않았습니다. 개인적으로 csdn.net에서 찾으시면 됩니다.
mysql이 설치된 머신에서 실행:
1.d:mysqlbin>mysql -h localhost -u root //이렇게 되어야 합니다. MySQL 서버에 들어갈 수 있습니다.
2. GRANT ALL PRIVILEGES ON * .* TO 'root'@'%' WITH GRANT OPTION //모든 호스트에 데이터 액세스 권한 부여3. 적용됩니다4.mysql>EXIT //
Exit
MySQL 서버
그렇습니다.
다른호스트에 루트로 로그인하세요!
위 내용은 MySQL은 원격 액세스를 허용하지 않습니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!