집 >데이터 베이스 >MySQL 튜토리얼 >MySQL은 원격 액세스를 허용하지 않습니다
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!