>  기사  >  데이터 베이스  >  MySQL은 원격 액세스를 허용하지 않습니다

MySQL은 원격 액세스를 허용하지 않습니다

怪我咯
怪我咯원래의
2017-07-05 11:14:131384검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.