У меня есть экземпляр сервера MySql в Amazon EC2. В my.cnf
Если я напишу bind-address = 127.0.0.1
, сервер может запускаться.
Но если я напишу bind-address = SERVER_IP
, это дает ошибку привязки.
Итак, чтобы подключить этот сервер удаленно (потому что я хочу использовать его для разработки в своей локальной рабочей области), что мне делать?
Я предполагаю, что SERVER_IP
публичный (эластичный?) IP вашего экземпляра. Это не сработает, потому что с точки зрения машины вы получаете адрес только в 10/8, и этот частный IP-адрес преобразуется сетью Amazon в публичный IP-адрес, который вы знаете и любите.
Вам нужно будет установить bind-address = 10.x.y.z
(или 0.0.0.0
, как предлагает Кристофер Перрин), чтобы заставить его работать. Однако помните, что сервер базы данных, открытый для всего мира, - это восхитительная возможность ...
Вы можете привязать к адресу 0.0.0.0. Это заставляет MySQL прослушивать каждый IP-адрес.
НО имейте в виду, что вам может потребоваться РАЗРЕШИТЬ использование IP, с которого вы подключаетесь, например
GRANT USAGE ON databse.table TO 'username'@'host';
В качестве небольшого примечания: вы можете использовать Сервис реляционной базы данных Amazon если вы просто хотите иметь базу данных MySQL в облаке
Что вам следует сделать, так это создать безопасную связь между вами и экземпляром базы данных, например, через OpenVPN или аналогичный. OpenVPN может быть излишним, но это было бы лучше. Таким образом, вы можете привязаться к его интерфейсу tun0 и не беспокоиться о мелочах, таких как взлом.
Просто добавьте свой текущий IP-адрес в группу безопасности, которую использует ваш сервер.