Как связать сервер MySQL больше чем с одним IP-адресом?

Это кажется, что Вы не только хотите к управлению версиями схему, но и данные в той схеме также? Почему не пишут сценарий Вашей базы данных для схемы и затем используют SSIS для извлечения данных в файлы CSV. Можно сжать эти файлы и затем сохранить их в предпочтительном SCM.

Я не рекомендовал бы Визуальный Источник, Безопасный, поскольку он может повредить Вашу базу данных управления версиями очень легко. Взгляните на Подверсию через TortoiseSVN для Win32

Извините, если я неправильно истолковываю Ваши требования. Но я не думаю, что Вы найдете инструмент управлениями версиями Ваш весь дб - схема и дб.

261
задан 24 February 2018 в 01:37
8 ответов

Нет, нет (я просто проверил 1 час назад). Можно прокомментировать связывание адресного в my.cnf:

#skip-networking
#bind-address                   = 127.0.0.1

Если Вы хотите только 2 дюйм/с, необходимо будет затем использовать брандмауэр.

245
ответ дан 28 November 2019 в 19:13
  • 1
    Корректный. Привязка ограничена или 0, 1, или все IP-адреса на сервере. –  Joe 15 September 2010 в 00:01

Привязка к 127.0.0.x не сделает этого доступным для всех устройств, это сделает это доступным локально только. Если Вы хотите сделать это доступным для всех интерфейсов, необходимо использовать 0.0.0.0. Если Вы хотите получить доступ к нему больше чем от одного, но меньше, чем все интерфейсы, необходимо связать с 0.0.0.0 и брандмауэр от интерфейсов, Вы не хотите быть полученными доступ через.

Кроме того, как второй уровень безопасности, необходимо удостовериться, что у всех пользователей MySQL есть полевой набор хоста к чему-то другому, чем % (т.е. любой хост).

79
ответ дан 28 November 2019 в 19:13
  • 1
    Если у Вас нет поврежденного сетевого стека, Вы не можете обязать порт TCP обращаться 0.0.0.0. –  John Gardeniers 7 May 2010 в 01:49
  • 2
    Вы можете связывать с 0.0.0.0. Вы просто can' t направляют к нему. Если you' ре на Linux (или даже в Windows, просто установите netcat для окон), попытка: в одном терминале: nc-l 0.0.0.0 4321 и во втором терминале: telnet < IP любого интерфейса Ваш компьютер has> 4321 И это соединится с ним. –  Grey Panther 18 May 2010 в 19:49

Я думаю, что Ваш вопрос связан с этой ошибкой http://bugs.mysql.com/bug.php?id=14979, отчет об ошибках предлагает некоторое обходное решение.

6
ответ дан 28 November 2019 в 19:13

Нет, Вы не можете. Страница Вы связываетесь с ясно состояниями:

IP-адрес для привязки с. Только один адрес может быть выбран. Если эта опция указана многократно, последний данный адрес используется.

Если никакой адрес или 0.0.0.0 не указан, сервер слушает во всех интерфейсах.

21
ответ дан 28 November 2019 в 19:13

Вы не можете привязать к нескольким 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: Allow both remote AND local connections).

После изменения адреса привязки не забудьте перезапустить ваш MySQL сервер на:

sudo service mysql restart

Со временем вы можете подумать о запуске нескольких экземпляров MySQL на одной машине (разные порты) с репликацией Master/Slave. Репликация позволяет копировать данные с одного сервера баз данных MySQL (ведущего) на один или несколько серверов баз данных MySQL (ведомых).

Подробнее:

42
ответ дан 28 November 2019 в 19:13

Как ответили другие, пока нет способа выборочно привязать более чем к одному интерфейсу.

В Linux есть некоторые инструменты TCP, которые делают это возможным. В этой настройке вы должны настроить mysql для прослушивания 127.0.0.1, а затем использовать redir , чтобы открыть его на произвольных интерфейсах.

Я использовал это, чтобы помочь гостю виртуального ящика увидеть установленный mysql на главном компьютере.

redir --laddr=192.168.33.1 --lport=3306 --caddr=127.0.0.1 --cport=3306 &
12
ответ дан 28 November 2019 в 19:13

В my.cnf измените (обычно / etc / mysql / my.cnf в Linux или для Windows проверьте этот ответ.

bind-address                   = 127.0.0.1

-

bind-address                   = 0.0.0.0

Затем перезапустите mysql (в Ubuntu service mysql restart ) в Windows обычно перезапуск службы через Win + R services.msc

0.0.0.0 сообщает ему о необходимости привязки ко всем доступным IP-адресам с портом, также указанным в my.cnf

3
ответ дан 28 November 2019 в 19:13

До 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

5
ответ дан 28 November 2019 в 19:13

Теги

Похожие вопросы