답변:
아니요, 없습니다 (방금 1 시간 전에 확인했습니다). my.cnf에서 바인드 주소를 주석 처리 할 수 있습니다.
#skip-networking
#bind-address = 127.0.0.1
2 개의 IP 만 원하면 방화벽을 사용해야합니다.
socket
및 bind-address
옵션을 모두 지정하여 로컬 유닉스 소켓과 네트워크 소켓을 모두 게시하고 제공 할 수 있습니다.
127.0.0.x에 바인딩하면 모든 장치에서 사용할 수 없으며 로컬에서만 사용할 수 있습니다. 모든 인터페이스에서 사용 가능하게하려면 0.0.0.0을 사용해야합니다. 둘 이상의 인터페이스에서 액세스하고 모든 인터페이스보다 적은 인터페이스에 액세스하려면 0.0.0.0에 바인딩하고 액세스하지 않으려는 인터페이스를 방화벽으로 차단해야합니다.
또한 두 번째 보안 계층으로 모든 MySQL 사용자가 호스트 필드를 % 이외의 호스트 필드로 설정했는지 확인해야합니다 (예 : 모든 호스트).
INADDR_ANY (0.0.0.0) means any address for binding;
무엇입니까?
/etc/mysql/conf.d/bindaddress.cnf
컨텐츠 가 포함 된 파일 파일 만들기[mysqld] \n bind-address = 0.0.0.0
둘 이상의 IP 주소에는 바인딩 할 수 없지만 사용 가능한 모든 IP 주소에는 바인딩 할 수 있습니다. 그렇다면 0.0.0.0
다음과 같이 MySQL 구성 파일 (예 : /etc/mysql/my.cnf)에 바인딩 주소를 사용하십시오.
bind-address = 0.0.0.0
주소가 0.0.0.0이면 서버는 모든 서버 호스트 IPv4 인터페이스에서 TCP / IP 연결을 수락합니다.
또한 주소가 ::
인 경우 서버는 모든 서버 호스트 IPv4 및 IPv6 인터페이스에서 TCP / IP 연결을 수락합니다. 모든 서버 인터페이스에서 IPv4 및 IPv6 연결을 모두 허용하려면이 주소를 사용하십시오.
또는 단순히 bind-address=
전체적으로 주석을 달 수 있으므로 모든 주소에 바인딩됩니다. 그러나 skip-networking
원격 연결도 허용하려면 my.cnf에서 활성화 하지 않았는지 확인하십시오 (더 읽기 : MySQL : 원격 및 로컬 연결 모두 허용 ).
바인딩 주소를 변경 한 후 다음을 수행하여 MySQL 서버를 다시 시작하십시오.
sudo service mysql restart
결국 마스터 / 슬레이브 복제를 사용하여 단일 머신 (다른 포트)에서 여러 개의 MySQL 인스턴스를 실행하는 것을 고려할 수 있습니다. 복제를 통해 하나의 MySQL 데이터베이스 서버 (마스터)의 데이터를 하나 이상의 MySQL 데이터베이스 서버 (슬레이브)로 복사 할 수 있습니다.
더 읽어보기 :
다른 사람들이 대답했듯이 아직 여러 인터페이스에 선택적으로 바인딩 할 수있는 방법이 없습니다.
리눅스에는 가능한 TCP 툴이 있습니다. 이 설정에서는 127.0.0.1에서 수신 대기하도록 mysql을 구성한 다음 redir 을 사용 하여 임의 인터페이스에 노출시킵니다.
나는 이것을 사용하여 가상 상자 손님이 호스트 컴퓨터에 설치된 mysql을 볼 수 있도록 도와주었습니다.
redir --laddr=192.168.33.1 --lport=3306 --caddr=127.0.0.1 --cport=3306 &
귀하의 질문은이 버그와 관련이 있다고 생각합니다 http://bugs.mysql.com/bug.php?id=14979 버그 보고서는 몇 가지 해결 방법을 제안합니다.
MySQL 8.0.13 이전에 --bind-address는 단일 주소 값을 허용합니다. 단일 주소 값은 단일 비 와일드 카드 IP 주소 또는 호스트 이름 또는 여러 네트워크 인터페이스 (*, 0.0에서 청취 할 수있는 와일드 카드 주소 형식 중 하나)를 지정할 수 있습니다. .0.0 또는 : :).
MySQL 8.0.13부터 --bind-address는 방금 설명한 단일 값 또는 쉼표로 구분 된 값 목록을 허용합니다. 옵션이 여러 값의 목록 이름을 지정할 때 각 값은 하나의 비 와일드 카드 IP 주소 또는 호스트 이름을 지정해야합니다. 와일드 카드 주소 형식 (*, 0.0.0.0 또는 : :)을 지정할 수 없습니다.
출처 : https://dev.mysql.com/doc/refman/8.0/en/server-options.html
에서 my.cnf의 변화 (일반적으로 리눅스에 /etc/mysql/my.cnf 또는 Windows 확인 이 대답을.
bind-address = 127.0.0.1
에
bind-address = 0.0.0.0
그런 다음 Windows 에서 mysql (Ubuntu 서비스 mysql restart )을 일반적으로 Win + R 서비스를 통해 다시 시작하십시오.
0.0.0.0은 my.cnf에 제공된 포트로 사용 가능한 모든 IP에 바인딩하도록 지시합니다.