Відповіді:
Ні, немає (я перевірив 1 годину тому). Ви можете прокоментувати bind-адресу в 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, сервер приймає TCP / IP-з'єднання у всіх інтерфейсах хоста сервера IPv4.
Крім того, якщо адреса є ::
, сервер приймає TCP / IP-з'єднання на всіх інтерфейсах хостів сервера IPv4 та IPv6. Використовуйте цю адресу, щоб дозволити з'єднання IPv4 та IPv6 на всіх інтерфейсах сервера.
Або ви можете просто прокоментувати bind-address=
взагалі, так що вона буде прив’язана до всіх адрес. Але переконайтеся, що ви не skip-networking
включили у своєму my.cnf, якщо ви також хочете дозволити віддалені з'єднання (Докладніше: MySQL: Дозволити віддалені та локальні з'єднання ).
Змінивши адресу прив'язки, не забудьте перезапустити MySQL-сервер:
sudo service mysql restart
Зрештою, ви можете розглянути можливість запуску декількох екземплярів MySQL на одній машині (різних портах) з реплікацією Master / Slave. Реплікація дозволяє копіювати дані з одного сервера баз даних MySQL (головного) на один або кілька серверів баз даних MySQL (підлеглих).
Детальніше:
Ні, ви не можете. На сторінці, на яку ви посилаєтесь, чітко зазначено:
IP-адреса, до якої потрібно прив’язатись. Можна вибрати лише одну адресу. Якщо цей параметр вказано кілька разів, використовується остання вказана адреса.
Якщо не вказана адреса або 0.0.0.0, сервер слухає всі інтерфейси.
Як відповіли інші, ще не існує способу вибіркового прив’язання до декількох інтерфейсів.
У Linux є кілька інструментів TCP, які роблять це можливим. У цьому налаштуванні ви можете налаштувати mysql для прослуховування на 127.0.0.1, а потім використати 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-адреса приймає одне значення як тільки описане, або список значень, розділених комами. Коли параметр називає список декількох значень, кожне значення повинно вказувати одну IP-адресу, яка не використовується підстановкою, або ім'я хоста; жоден не може вказати формат підстановки (*, 0.0.0.0 або: :).
Джерело: https://dev.mysql.com/doc/refman/8.0/en/server-options.html
У зміні my.cnf (зазвичай /etc/mysql/my.cnf в Linux або для Windows перевіряйте цю відповідь.
bind-address = 127.0.0.1
до
bind-address = 0.0.0.0
Потім перезапустіть mysql (на сервісі Ubuntu mysql перезапуск ) у Windows, як правило, перезапуск через Win + R services.msc
0.0.0.0 повідомляє, що він повинен зв'язуватися з усіма доступними IP-адресами з портом, також вказаним у my.cnf