전체 서브넷에 대해 MySQL에 대한 원격 액세스 권한을 부여하는 방법은 무엇입니까?
이 코드를 사용하여 하나의 IP에 대한 액세스 권한을 쉽게 부여 할 수 있습니다.
$ mysql -u root -p
Enter password:
mysql> use mysql
mysql> GRANT ALL ON *.* to root@'192.168.1.4' IDENTIFIED BY 'your-root-password';
mysql> FLUSH PRIVILEGES;
하지만 전체 서브넷 192.168.1. *이 데이터베이스에 원격으로 액세스하도록 허용해야합니다.
어떻게 할 수 있습니까?
편집 : 이 페이지에서 Malvineous 의 답변을 보고 찬성하는 것을 고려 하십시오. 넷 마스크는 훨씬 더 우아한 솔루션입니다.
IP 주소에서 퍼센트 기호를 와일드 카드로 사용하면됩니다.
에서 http://dev.mysql.com/doc/refman/5.1/en/grant.html
호스트 이름에 와일드 카드를 지정할 수 있습니다. 예를 들어,
user_name@'%.example.com'
적용user_name
어떤 호스트example.com
도메인 및user_name@'192.168.1.%'
적용user_name
어떤 호스트192.168.1
클래스 C 서브넷.
그것은 당신이 또한 넷 마스크를 사용할 수 있습니다처럼 보이는 , 예를 들어,
GRANT ... TO 'user'@'192.168.0.0/255.255.255.0' IDENTIFIED BY ...
다음과 같이 와일드 카드로 '%'를 사용합니다.
GRANT ALL ON *.* to root@'192.168.1.%' IDENTIFIED BY 'your-root-password';
mysql> GRANT ALL ON *.* to root@'192.168.1.%' IDENTIFIED BY 'your-root-password';
와일드 카드 문자는 "*"대신 "%"입니다.
내가 직면 한 특이성에 대한 메모 :
고려 :
db server: 192.168.0.101
web server: 192.168.0.102
mysql.user 'user'@'192.168.0.102'
에 password1 로 정의 된 사용자 와 password2로 다른 사용자가있는 경우 'user'@'192.168.0.%'
,
그때,
password2를 사용하여 'user'로 웹 서버에서 db 서버에 연결하려고하면
단일 IP 'user'@'192.168.0.102'
인증이 와일드 카드 'user'@'192.168.0.%'
인증을 통해 사용 되기 때문에 '액세스 거부'오류가 발생 합니다.
참고 URL : https://stackoverflow.com/questions/11742963/how-to-grant-remote-access-to-mysql-for-a-whole-subnet
'Nice programing' 카테고리의 다른 글
glxgears에 대한 수직 동기화 비활성화 (0) | 2020.10.15 |
---|---|
Laravel Request :: all ()은 정적으로 호출하면 안됩니다. (0) | 2020.10.15 |
SMTP 서버에 보안 연결이 필요하거나 클라이언트가 인증되지 않았습니다. (0) | 2020.10.15 |
파이썬으로 URL을 요청하고 리디렉션을 따르지 않는 쉬운 방법이 있습니까? (0) | 2020.10.15 |
어떻게? (0) | 2020.10.15 |