[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Что значит хост в mysql?
program90
Привет,
Подскажите, что значит хост в Mysql? Если я написал скрипт на пхп и запустил его - то apache его передает интерпретатору php.exe, а тот обращается к MySql и записывает туда в таблицу что-то. А что значит хост? Apache, mysql и php находятся на одном компьютере. А если php.exe находится на другом компьютере, то тогда он уже соединение должен с тем компьютером делать, где mysql. А соединение с базой данных и соединение с сервером через интернет - это разные соединения. Непонятно что значит соединение с базой данных - кто соединяется и как. И что значит здесь хост - что кроме localhost можно указать при соединении, если mysql находится на том же компьютере?
Спасибо за ответ



Спустя 56 секунд (2.06.2010 - 15:29) DedMorozzz написал(а):
могу предположить, что "localhost"

Спустя 7 часов, 34 минуты, 2 секунды (2.06.2010 - 23:03) program90 написал(а):
я в денвере создал несколько виртуальных хостов. По умолчанию - localhost. Второй - SomeHost. И третий Dup.
Когда я ввожу в командной строке:
>mysql -u root -h localhost -p

То после ввода пароля подключается, как rott@localhost.

Когда ввожу
>mysql -u root -h SomeHost -p
то подключается тоже как root@localhost

Когда ввожу
>mysql -u root -h Dup -p
то происходит ошибка:
ERROR 2005 (HY000): Unknown MySQL server host 'Dup' (11001)

Почему третий хост не подключается? И почему с хоста SomeHost клиент подключается к базе данных как root@localhost? (Т.е. как пользователь root из хоста localhost)



Спустя 23 минуты, 47 секунд (2.06.2010 - 23:27) ZSH написал(а):
localhost это значит что на одном компе mysql с апачем и php

виртуальных хостов несколько, а mysql один и доступ к нему будет через localhost, прсто имя БД и имя пользователя БД будут разными.

Если апач с php иmysql на разных хостах(серверах) тогда вместо localhost прописывается реальный адрес к mysql

Спустя 1 час, 13 минут (3.06.2010 - 00:40) NewBePhp написал(а):
program90
если сервер и клиент только на твоей машине (ты админ и обрашение к скрипту идет локально то адрес хоста такой 127.0.0.1 или localhost)
если клиент обращается к серву *на стороне* то хост уже указывается сервера (но не локальный а тот что тебе дадут при регистрации)

Спустя 9 часов, 24 минуты, 55 секунд (3.06.2010 - 10:05) program90 написал(а):
А чем отличается сервер mysql от сервера apache? Как происходит взаимодействие между пользователем и Базой Данных? Например я загружаю браузер, нажимаю кнопку - Показать сведения об автомобиле. И вот как дальше? Браузер соединяется с apache, который работает на другом компьютере. Apache запускает php-интерпретатор. Интерпретатор соединяется с сервером базы данных, который находится на том же компьютере, где и apache, переведя запрос на язык sql. И дальше сервер, обработав, отправляет назад. Правильно ли я написал?
Тогда не понятно что значит сервер базы данных - почему интерпретатору нужно к нему обращаться через сетевой интерфейс localhost? Это настоящий сервер, такой же как apache? Или это просто такое название субд? Если это настоящий сервер, то зачем два сервера на одном компе - apache и сервер mysql? Зачем тогда нужен apache? Почему нельзя сразу к серверу mysql обращаться, и пусть он php-интерпретатор запускает.

Спустя 46 минут, 46 секунд (3.06.2010 - 10:52) Basili4 написал(а):
program90
НЕ всегда web сервер и сервер базданых работают на одном компьютере я скажу даже больше есть случае когда сервер базы данных работает на несколько компьютерах это называется кластер. два сервера используются толкуко потому что они выполняют различные фукции как автомобиль и пылесос Вы же приходя в магазин не спрашиваете почему на вашем пылесосе нельзя ездить наработе в нем же есть колеса. Web сервер обрабатывает запросы Http и выполняет их если в запросе указано обработать файл интрепретатором пыхи он передает для обработки файл интепретатору если в этом файле есть требование соединится с сервером баз данных то интерпретатор пытается это сделать. Апач не может работать с базами напрямую он и знать не знает что таке есть. он видит толко запрос сервер mysql не знает откуда пришол и по какому протоколу пришел запрос . У меня на локальной машине запускаются и работают php скрипты они работают без web сервера напрямую с mysql. но запустить их можно только с машины некак не удалено темболее в адресном пространстве моей машины.

Спустя 55 минут, 12 секунд (3.06.2010 - 11:47) program90 написал(а):
Хорошо,
а что тогда значит сервер базы данных? Т.е. можно прямо подключаться скажем на адрес 154.594.1234560.600 к порту 6583950803468 и там его будет слушать сервер mysql? И иначе с сервером mysql соединиться нельзя? только через сетевой интерфейс даже если php и mysql находятся на одном компе?
(два вопроса!!)

Спустя 2 минуты, 54 секунды (3.06.2010 - 11:50) waldicom написал(а):
Цитата (program90 @ 3.06.2010 - 10:47)
только через сетевой интерфейс даже если php и mysql находятся на одном компе?
(два вопроса!!)

Если php и mysql находятся на одном компе, можно соединяться через сокет или через tcp/ip

Спустя 3 минуты, 36 секунд (3.06.2010 - 11:53) Basili4 написал(а):
и ip с портами указывай правельно
Цитата
154.594.1234560.600 к порту 6583950803468
таких адресов нет и не может быть.

Спустя 2 минуты, 6 секунд (3.06.2010 - 11:55) program90 написал(а):
Так нет - вопрос то главный у меня пока этот -
"Т.е. можно прямо подключаться скажем на ip адрес к некоторому порту и там его будет слушать сервер mysql? "

Спустя 1 минута, 12 секунд (3.06.2010 - 11:57) waldicom написал(а):
Цитата (program90 @ 3.06.2010 - 10:55)
"Т.е. можно прямо подключаться скажем на ip адрес к некоторому порту и там его будет слушать сервер mysql? "

Если сервер настроен слушать на этом порту, то да

Спустя 2 часа, 56 минут, 21 секунда (3.06.2010 - 14:53) program90 написал(а):
Т.е. получается что mysql сервер включает в себя как бы код подобный коду apache? т.е. он делает то же самое - получает запрос передает его комуто(СУБД) и возвращает ответ?

Спустя 15 минут, 15 секунд (3.06.2010 - 15:08) Basili4 написал(а):
Цитата (program90 @ 3.06.2010 - 11:53)
включает в себя как бы код подобный коду apache?


Это называется вызовом API функций ОС. В сомой оси есть функции короые сделаны для того чтобы приложение моголо слушать порт писать в порт соединятся с другими компами.

Спустя 30 минут, 40 секунд (3.06.2010 - 15:39) waldicom написал(а):
Цитата (program90 @ 3.06.2010 - 13:53)
Т.е. получается что mysql сервер включает в себя как бы код подобный коду apache? т.е. он делает то же самое - получает запрос передает его комуто(СУБД) и возвращает ответ?

Серверная часть, отвечающая за прием сообщений на определенном порту - да, как у апача (они вообще все одинаковые). А вот что с данными происходит после того, как они были приняты на этом порту - это конечно у каждого сервера свое. Апач ищет файлы и отдает пользователю, мускул берет запрос и выолняет его внутри себя и также отдает пользователю.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.