MySQL+Delphi+Zeos7 (удалённый доступ)

Задание: организовать простое клиент-серверное приложение для работы с СУБД MySQL для нескольких машин.

Что сделано на данном этапе: создано простое клиент-серверное приложение которое работает пока только локально с MySQL. При переносе приложения на другую машину и запуске, выдает ошибку Can't connect to MySQL server on '127.0.0.1' (10061).

IP сервера 127.0.0.1, порт 3306, выполняю в приложении вход под рутом (пользователь root). Появилась идея, что под рутом зайти можно только с машины на которой поставлен сервер, то есть для новой машины - нужно создавать отдельного пользователя (пусть и со всеми правами).

Вопрос - как это сделать? Как именно должен выглядеть запрос создания нового пользователя для определенной (и не очень) машины, чтобы был доступ к серверу?

Cyberforum пока отмалчивается.

21 октября, 19:17
225

Комментарии

У вас стоит mysql-сервер на той другой машине? Или вы думаете что со второго компьютера по айпи 127.0.0.1 вы попадете на сервер первого компьютера?
для ясности скажу, MySQL сервер стоит на машине X. Пытаюсь с машины Y при помощи только клиент-серверной программы (на машине Y естественно сервера нет) пробиться к серверу по IP 127.0.0.1.
И признаться честно, думал что попаду со второй машины на сервер первой... не получилось... Где-то прочел, что для того чтобы машина Y могла попасть на сервер, нужно чтобы IP-адрес Y-ка был добавлен в список допустимых сервера. А для этого нужно создать пользователя, с параметрами IP-адреса Y-ка и под этим пользователем и нужно заходить... Надеюсь изложил мысль =(
Если они у вас соединены по локальной сети, со второго компьютера нужно указывать айпи первого, который находится в свойствах сетевого подключения, а не 127.0.0.1. По нему компьютер обращается только сам к себе.
Ок. Если я буду обращаться с машины Y по IP X-а, то зачем тогда MySQL серверу свой собственный IP? (скажу что айпи 127.0.0.1 при запущенном сервере пингается с обоих машин).
Я не очень уверен в настройках mysql-сервера (честно говоря про "собственный ip" впервые слышу, но может так и есть), но про 127.0.0.1 знаю точно. Он должен пинговаться в любом случае (проверьте - отключите сервер, запустите ping 127.0.0.1 на втором компьютере - ответит вам сам же второй компьютер. ru.wikipedia.org
Хммм, возможно вы правы, спасибо. Завтра обязательно попробую, если что, отпишусь, можно?)
Вам нужно, чтобы установленный MySQL в конфиге имел разрешения к подключению по сети. Также, на этом ПК нужно в свойствах брандмауэра и антивируса открыть стандартный порт MySQL. Потом, в настройках компонент нужно указать IP удаленного компьютера, имя пользователя и пароль.
Когда вы подключаетесь по IP 127.0.0.1 вы как бы говорите, "MYSQL сервер на этом компьютере"
Тогда сразу же несколько вопросов:
Смогу ли я с удаленного компьютера зайти по root'ом?
Конфиг MySQL my.ini? Какой же параметр тогда отвечает за разрешение подключения по сети? =\
Стандартный порт 3306, а ошибка 10061 значит, что по порту не получается достучаться
Дык, удаленная машина по порту 3306 и не достучится, раз IP я указывал 127.0.0.1... стучаться по порту в несуществующий локальный сервер :D
Под рутом зайти можно, т.е. отдельный пользователь для подключения по сети не обязателен.
Надо в My.ini добавить в раздел [mysqld], в конец
bind-address=0.0.0.0
skip-name-resolve

Оставьте свой комментарий