| 
			| 
					
						| asker | 
								|  | «  : 07-08-2006 06:36 »  |  | 
 
 Ситуация такая:Есть 3 компа:
 1 - сервер, на нем хранится нужная БД (MySQL) (находится в сети А);
 3 - клиент, здесь пользователь генерирует запросы к базе (находится в сети Б);
 2 - маршрутизатор (комп под управлением Unix), он должен перенаправлять запросы клиента к серверу (но не все подряд)
 
 Можно ли такое сделать, и если да, то как.
 |  
						| 
								|  |  
								|  |  Записан | 
 
 С уважением, asker |  |  | 
	| 
			| 
					
						| Dimka 
								ДеятельКоманда клуба    Offline 
								Пол:    | 
								|  | « Ответ #1 : 07-08-2006 14:36 »  |  | 
 
 А причём тут MySQL? MySQL работает по по протоколу TCP/IP, и этот протокол от MySQL никак не зависит. Тему надо перенести в раздел сети. Правильный вопрос: "Как настроить маршрутизатор?" комп под управлением Unix Очень я в этом сомневаюсь. Что именно: Linux, Solaris, HP-UX, какая-нибудь BSD - точнее говори, везде свои тонкости. (но не все подряд) Что это значит? Какие именно не должен? В общем случае (если клиент имеет прямой доступ к MySQL, а не через некий сервис, реализующий уровень скажем так "бизнес-логики"), это настраивается в правах доступа пользователей MySQL к объектам MySQL (например, таблицам). Маршрутизатор здесь к делу не относится. Маршрутизатор может лишь включать/выключать доступ для отдельных хостов из сети Б к серверу, но не фильтровать SQL-запросы в зависимости от их (запросов) содержания. Маршрутизация сети работает на 3-м уровне "сетевом" (согласно OSI-модели), MySQL - на 7-м "прикладном". И эти уровни друг с другом не связаны - если есть связь на 3-м уровне (можно установить сетевое соединение с MySQL), можно настраивать 7-й (авторизацию, права пользователей на выполнение запросов), если нет связи на 3-м уровне, 7-й вообще не работает. |  
						| 
								|  |  
								| « Последнее редактирование: 07-08-2006 14:44 от dimka » |  Записан | 
 
 Программировать - значит понимать (К. Нюгард)Невывернутое лучше, чем вправленное (М. Аврелий)
 Многие готовы скорее умереть, чем подумать (Б. Рассел)
 |  |  | 
	| 
			| 
					
						| asker | 
								|  | « Ответ #2 : 08-08-2006 05:00 »  |  | 
 
 А причём тут MySQL? MySQL работает по по протоколу TCP/IP, и этот протокол от MySQL никак не зависит.
 MySQL может быть и не причем, но установленное СУБД - MySQL. комп под управлением Unix Очень я в этом сомневаюсь. Что именно: Linux, Solaris, HP-UX, какая-нибудь BSD - точнее говори, везде свои тонкости.Насколько, мне известно комп под управлением freeBSD. (но не все подряд) Что это значит? Какие именно не должен?Запросы к "моей" БД маршрутизатор должен перенаправлять к серверу с "моей" БД, а все остальные на другой сервер (может быть я не совсем правильно выразился) Да, что значит клиент имеет прямой доступ к MySQL. Т.е. знает IP адрес сервера, на кот-ом БД, если да, то очень очень не хотелось бы чтобы клиент знал этот IP. |  
						| 
								|  |  
								|  |  Записан | 
 
 С уважением, asker |  |  | 
	| 
			| 
					
						| Антон (LogRus) | 
								|  | « Ответ #3 : 08-08-2006 05:11 »  |  | 
 
 Т.е. знает IP адрес сервера, на кот-ом БД, если да, то очень очень не хотелось бы чтобы клиент знал этот IP.
 Хм.. а как тогда осуществлять сепарацию запросов? Что и куда? |  
						| 
								|  |  
								|  |  Записан | 
 
 Странно всё это.... |  |  | 
	| 
			| 
					
						| Dimka 
								ДеятельКоманда клуба    Offline 
								Пол:    | 
								|  | « Ответ #4 : 08-08-2006 05:27 »  |  | 
 
 Запросы к "моей" БД маршрутизатор должен перенаправлять к серверу с "моей" БД, а все остальные на другой сервер (может быть я не совсем правильно выразился)
 Да, что значит клиент имеет прямой доступ к MySQL.
 Т.е. знает IP адрес сервера, на кот-ом БД, если да, то очень очень не хотелось бы чтобы клиент знал этот IP.
 Если MySQL не имеет функции подзапросов к другим серверам и источникам данных (нечто, вроде linked servers в MS SQL Server), то такое штатными средствами сделать невозможно. В качестве решения можно создать некий сетевой сервис, который будет выступать в качестве дополнительного логического слоя приложения. Тогда все клиенты будут обращаться к сервису, исользуя предоставляемый им API, и не будут делать запросов к БД. Все запросы к БД будет делать этот сервис. Но скорее всего речь идёт о неправильной конфигурации среды. Объясни суть задачи и обоснуй, почему клиентам нельзя сообщать IP MySQL именно с твоей  БД. Чем она такая секретная? Почему разнесены БД по разным серверам? Решения каких проблем ты этим хочешь добиться? |  
						| 
								|  |  
								|  |  Записан | 
 
 Программировать - значит понимать (К. Нюгард)Невывернутое лучше, чем вправленное (М. Аврелий)
 Многие готовы скорее умереть, чем подумать (Б. Рассел)
 |  |  | 
	|  | 
	| 
			| 
					
						| Dimka 
								ДеятельКоманда клуба    Offline 
								Пол:    | 
								|  | « Ответ #6 : 08-08-2006 16:47 »  |  | 
 
 Тогда в перспективе (когда версия станет стабильной) возможно поставить прокси-MySQL - он сам определит, к каким БД (или таблицам) обращаются, и перенаправит запросы куда нужно. Но права, опять же, настраиваются в MySQL, а не на уровне маршрутизатора сети. |  
						| 
								|  |  
								|  |  Записан | 
 
 Программировать - значит понимать (К. Нюгард)Невывернутое лучше, чем вправленное (М. Аврелий)
 Многие готовы скорее умереть, чем подумать (Б. Рассел)
 |  |  | 
	| 
			| 
					
						| RXL | 
								|  | « Ответ #7 : 08-08-2006 18:18 »  |  | 
 
 asker, ты можешь выразить смой вопрос точно? Чтобы не гадали, в чем же он заключается... |  
						| 
								|  |  
								|  |  Записан | 
 
 ... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. |  |  | 
	| 
			| 
					
						| asker | 
								|  | « Ответ #8 : 09-08-2006 03:49 »  |  | 
 
 Ситуация такая:Есть технологическая машина, на которой должна быть БД по управлением СУБД MySQL.
 Эта технол. машина и есть сервер, кот-ый находится в сети A, он не имеет прямого выхода в интернет, данная сеть находится за двумя маршрутизаторами а то и больше...
 
 Данной сети А свыше выделен один ИП из сети Б, сети Б в свою очередь так же выделен ИП с прямым выходом в инет(DSL-модем), в сетях А и Б поднят NAT,
 в сети Б на сервере который имеет два интерфейса поднят HTTP-сервер на котором должен крутиться сайт, который будет формировать запросы к базе данных, которая находится на компе из сети А, за маршрутизатором(FreeBSD 4.11).
 |  
						| 
								|  |  
								|  |  Записан | 
 
 С уважением, asker |  |  | 
	| 
			| 
					
						| Dimka 
								ДеятельКоманда клуба    Offline 
								Пол:    | 
								|  | « Ответ #9 : 09-08-2006 04:38 »  |  | 
 
 asker, дак тебе что нужно? Чтобы технологическая машина была защищена от доступа из интернета? Для этого сетевого маршрутизатора достаточно - ведь сеть Б - локальная сеть. Движок сайта (как единственный пользователь) через логин-пароль будет иметь доступ к MySQL, и всё - случайные пользователи из твоей сети Б доступа к MySQL на тех.машине иметь не будут, а из интернета никого в локальную сеть маршрутизатор на выходе в интернет не допустит. |  
						| 
								|  |  
								| « Последнее редактирование: 09-08-2006 04:40 от dimka » |  Записан | 
 
 Программировать - значит понимать (К. Нюгард)Невывернутое лучше, чем вправленное (М. Аврелий)
 Многие готовы скорее умереть, чем подумать (Б. Рассел)
 |  |  | 
	| 
			| 
					
						| asker | 
								|  | « Ответ #10 :  14-08-2006 07:57 »   |  | 
 
 Извините за отсутствие, ко мне родственики приехали, выдалась минутка.Я обдумаю то, что ты сказал. Может ты и прав, и мы выдумали проблему там где ее нет...
 Попробую...
 Спасибо, dimka
 
 |  
						| 
								|  |  
								|  |  Записан | 
 
 С уважением, asker |  |  | 
	|  |