Доступ к базе данных MySQL 5.5.24 сервера Wamp в локальной сети

Я хотел бы получить доступ к моей базе данных MySQL через локальную сеть, установленную сервером Wamp (2.2e). Мне удалось получить доступ к phpMyAdmin с другого локального компьютера, поэтому я могу просматривать содержимое БД, но я хотел бы использовать данные из нее другим приложением.

Я отключил свой брандмауэр только для тестирования на моем «сервере» и на моей «клиентской» машине. Я не могу подключиться к базе данных через telnet (telnet «IP-адрес локальной сети моего сервера» 3306) с моей клиентской машины.

на моем сервере netstat -an показывает БД MySQL:

    Proto   | Local Address  |  Foreign Address  |  State
    TCP     | 0.0.0.0:3306   |  0.0.0.0:0        |  Listening

Я добавляю пользователей («клиентский» локальный сетевой ip, «серверный» локальный сетевой ip) в базу данных со всеми разрешениями. На «серверной» машине я могу подключиться по telnet к своей собственной базе данных MySQL, используя ее локальный сетевой IP-адрес после того, как я также добавлю его в таблицу пользователей БД.

Вот мой файл my.ini без строк комментариев:

[client]
port        = 3306
socket      = /tmp/mysql.sock

[wampmysqld]
port        = 3306
socket      = /tmp/mysql.sock
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
basedir=c:/wamp/bin/mysql/mysql5.5.24
log-error=c:/wamp/logs/mysql.log
datadir=c:/wamp/bin/mysql/mysql5.5.24/data

skip-federated
log-bin=mysql-bin
binlog_format=mixed
server-id   = 1

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash

[isamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[myisamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout

[mysqld]
port=3306

Я уже пробовал несколько вещей, которые не сработали:
skip-name-resolve в mysqld
bind-address=0.0.0.0 (это то же самое, что и по умолчанию) в mysqld
bind-address= «IP-адрес локальной сети» в mysqld не имел никакого значения

Я переписывал и другие файлы, но, думаю, мне нужно внести изменения здесь (my.ini), чтобы получить доступ к базе данных в локальной сети.

Мой сервер wamp сейчас находится в автономном режиме, так как я могу получить доступ к phpMyAdmin, я думал, что должен иметь доступ к базе данных, оставив ее в автономном режиме. Пробовал и в онлайн-режиме, ничего не изменилось.

Я потратил довольно много времени на решение проблемы, но, к сожалению, у меня больше нет идей. Каждое предложение, идеи будут оценены.


person Daniel    schedule 30.05.2014    source источник
comment
Извините, но здесь есть несколько подозрительных вещей. Например, вы пишете, что можете подключиться к серверу БД только локально из той же системы, используя telnet и хорошо известный порт mysql, после добавления локального IP-адреса в пользовательскую таблицу БД. Это вообще не имеет смысла, IP-прослушивание не имеет ничего общего с внутренними разрешениями базы данных. Может быть, здесь что-то перепуталось в этом описании?   -  person arkascha    schedule 30.05.2014
comment
Я также могу подключиться с помощью кода C #, я просто подумал, что telnet — это доступ более высокого уровня, поэтому имеет смысл начать с него. Я просто хотел поделиться шагами, которые я уже сделал. Конечным результатом должно быть то, что я могу получать данные из БД через локальную сеть с помощью приложения C #, в любом случае это не меняет самого вопроса, это будет просто следующий шаг. Если я могу подключиться к нему с другого компьютера в локальной сети и добавить пользователя, я уверен, что у меня также должен быть доступ с кодом С#.   -  person Daniel    schedule 30.05.2014
comment
Вы абсолютно правы, что начали тестирование с telnet! Я не на это указывал. Я указал на то, что описание предпринятых вами шагов не имеет смысла. Не поймите неправильно, но то, что вы описываете, не могло произойти таким образом. Поэтому я и спросил, может быть, какие-то шаги перепутались в описании.   -  person arkascha    schedule 30.05.2014
comment
Все, что вам нужно сделать, это создать учетную запись пользователя MySQL, которой разрешено входить в систему либо с определенного IP-адреса, либо с любого IP-адреса в вашей внутренней сети. Вот как это делается stackoverflow.com/questions/11742963/   -  person RiggsFolly    schedule 30.05.2014
comment
@arkascha да, ты прав, мои шаги могут быть недостаточно четкими, извини.   -  person Daniel    schedule 30.05.2014
comment
@RiggsFolly это просто добавление пользователя, это шаг после работы telnet. Думаю, мне стоило просто делиться меньшим количеством информации, чтобы не путать людей: P   -  person Daniel    schedule 30.05.2014
comment
Просто заметка. Онлайн/офлайн WAMPServer влияет только на доступ Apache, а не на MySQL. Он изменяет httpd.conf Allow from 127.0.0.1 на Allow from all и наоборот. Так что это не относится к MySQL.   -  person RiggsFolly    schedule 30.05.2014


Ответы (1)


Так что вроде разобрался.

Я использую Kaspersky Endpoint Security на своем компьютере для разработки. По какой-то причине он работает на нем странно (ограничения управляют моим центральным сервером, компьютеры в той же группе, что и я, ведут себя нормально, реагируя на правила, как должны). Было недостаточно отключить мой брандмауэр, мне нужно было отключить весь касперский, после чего я смог подключиться по телнету к порту MySQL с другой машины.

Итак, если правила брандмауэра добавлены к «обычным» машинам (не к моей странной), а также к клиенту и серверу; БД Wamps MySQL была доступна в локальной сети без каких-либо других изменений.

Я знаю, что это довольно частный случай, но я надеюсь, что это все же может помочь кому-то.

person Daniel    schedule 04.06.2014