SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 25.01.2010 12:55:58

YG
Участник
Зарегистрирован: 24.01.2010
Сообщений: 8

Подключение к MySQL на сервере в интернете с локального компа

Подскажите как подключиться с локального компа к своей же БД в интернете, пользователь с правами удаленного доступа, но почему то пишет ошибку, вот содержимое конфига подключения:

<?php
$dbhost="site.ru";
$dbuser="usser";
$dbpass="paroll";
$link = mysql_connect($dbhost, $dbuser, $dbpass) or die ("no connect");
mysql_select_db ("auto") or die("no connect");
?>

Пишет след. ошибку: Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'site.ru' (10061) in S:\home\localhost\www\Analitics\config.php on line 5
no connect


PS: На локальном компьютере установлен денвер.

Неактивен

 

#2 25.01.2010 13:25:53

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Подключение к MySQL на сервере в интернете с локального компа

MySQL на локальном компьютере не слушает порт. Насколько я знаю, денвер
настраивает MySQL так, что он слушает не стандартный порт. Ну и только на
127.0.0.1, скорее всего. Нужно найти конфигурацию и поправить. Скорее всего,
при этом сам денвер разломается.

Неактивен

 

#3 25.01.2010 13:27:23

YG
Участник
Зарегистрирован: 24.01.2010
Сообщений: 8

Re: Подключение к MySQL на сервере в интернете с локального компа

Добавил в антивирь порт 3306, в процессах висит mysqld.exe, в файле my.cnf:

bind-address          = 127.0.0.1

# Порт сервера.
port                  = 3306
socket                = /tmp/mysql5.sock

Неактивен

 

#4 25.01.2010 13:29:03

YG
Участник
Зарегистрирован: 24.01.2010
Сообщений: 8

Re: Подключение к MySQL на сервере в интернете с локального компа

paulus написал:

MySQL на локальном компьютере не слушает порт. Насколько я знаю, денвер
настраивает MySQL так, что он слушает не стандартный порт. Ну и только на
127.0.0.1, скорее всего. Нужно найти конфигурацию и поправить. Скорее всего,
при этом сам денвер разломается.

paulus подскажите как поправить этот файл? так сказать тыкните пальцем smile

Неактивен

 

#5 25.01.2010 14:28:16

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Подключение к MySQL на сервере в интернете с локального компа

Ну вот закомментируйте bind-address. Интересно, а где он в виндоус находит /tmp smile

Неактивен

 

#6 25.01.2010 15:07:51

YG
Участник
Зарегистрирован: 24.01.2010
Сообщений: 8

Re: Подключение к MySQL на сервере в интернете с локального компа

Закомментировал, результат тот же! А можно как нибудь еще проверить соединяется ли компьютер с БД? может еще какой нибудь способ есть?

Путь до MySQL у меня такой C:\WebServers\usr\local\mysql5\bin

Отредактированно YG (25.01.2010 15:16:41)

Неактивен

 

#7 25.01.2010 16:14:39

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Подключение к MySQL на сервере в интернете с локального компа

telnet <ip> 3306

ip нужно указывать внешний, а не 127.0.0.1

Неактивен

 

#8 14.02.2010 19:19:34

rammstein85
Участник
Зарегистрирован: 14.02.2010
Сообщений: 8

Re: Подключение к MySQL на сервере в интернете с локального компа

Доброго времени суток!!!
Может моя проблема покажется вам простой, но я начинающий пользователь и встретился с такой проблемой: стоит у меня на Windows MySQL Server 5 и клиент к нему. На Localhost клиент коннектится к базе без проблем, но нужно сделать так, чтоби еще 10 компов с клиентами коннектились по локальной сети к етому серверу. Сколько всякого разного начитался -  ничего не помогло. Опишите, пожалуйста, подробный процесс настройки такого соединения на примерах. Заведомо, очень признателен!!!

Неактивен

 

#9 14.02.2010 19:25:38

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Подключение к MySQL на сервере в интернете с локального компа

FAQ п1

Неактивен

 

#10 15.02.2010 17:25:17

rammstein85
Участник
Зарегистрирован: 14.02.2010
Сообщений: 8

Re: Подключение к MySQL на сервере в интернете с локального компа

Ету статью я уже читал и мне там не ясно следующее: 1) Для установления удаленного соединения нужно указать параметры, характеризующие устанавливаемое подключение. Это

    * --host
    * --protocol
    * --port
Где именно их надо указывать и как? Пробовал в C:\Program Files\MySQL\MySQL Server 5.0\my.ini прописывать, но так ничего и не произошло;
2) В MySQL Command Line Client написал следующее: GRANT SELECT ON mysql.time_zone TO user@192.168.2.203 IDENTIFIED BY '1';   и получил ответ бази : Query OK, 0 rows affected (0.00 sec). Что ето означает? надо ли прописивать всех юзеров пооддельности или можно включить доступ всех к базе? надо прописивать юзера столько раз, сколько есть баз? надо ли создавать акаунти юзеров на локалхосте перед тем, как давать им доступ к базе по локальной сети? Буду очень признателен за ответ. Извините еще раз за дурацкие вопроси, но я начинающий и много еще есть неясного

Неактивен

 

#11 15.02.2010 21:32:30

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Подключение к MySQL на сервере в интернете с локального компа

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

2) Вы дали право пользователю user с машинки 192.168.2.203 и паролем 1 соеди-
ниться с базой и выполнить SELECT из таблички time_zone базы mysql. Включить
доступ всех — это GRANT, в котором понятие «все» описано как-то подробно.
Могу придумать «все» как user@'%' — пользователь user с любой машинки. Могу
придумать «все» как ''@192.168.2.203 — кто угодно с машинки 192.168.2.203.
Или даже ''@'%' — кто угодно откуда угодно.

Неактивен

 

#12 15.02.2010 22:06:49

rammstein85
Участник
Зарегистрирован: 14.02.2010
Сообщений: 8

Re: Подключение к MySQL на сервере в интернете с локального компа

Решил пойти на все и написал такое: GRANT ALL ON *.* TO '%'@'%' IDENTIFIED BY '1';
и достал ответ:
ERROR 1045 (28000): Access denied for user 'root'@'%' (using password: YES)
на другие попитки ставить вместо % root или user отвечает тем же. Что не так?

Неактивен

 

#13 16.02.2010 01:23:21

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Подключение к MySQL на сервере в интернете с локального компа

Судя по всему ваш пользователь 'root'@'%', под которым вы пытаетесь выполнить команду GRANT не имеет на это прав.

Выполните под этим пользователем команду

show grants;
и посмотрите будет ли после пароля WITH GRANT OPTION

Неактивен

 

#14 16.02.2010 08:04:31

rammstein85
Участник
Зарегистрирован: 14.02.2010
Сообщений: 8

Re: Подключение к MySQL на сервере в интернете с локального компа

сделал. показалось такое: http://pslan.com/images/uploads/10aac888585dc567c6f082465c57e43d.jpg

Неактивен

 

#15 16.02.2010 14:39:49

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Подключение к MySQL на сервере в интернете с локального компа

Ну да, глобальных прав нету.
FAQ #7 Вас должен спасти.

Неактивен

 

#16 16.02.2010 16:01:35

rammstein85
Участник
Зарегистрирован: 14.02.2010
Сообщений: 8

Re: Подключение к MySQL на сервере в интернете с локального компа

добавил в режиме --skip-grant-tables  пользователя grant all ON *.* TO `root`@`%` identified by '1' with grant option;
проверил права: http://pslan.com/images/uploads/0eef28a7dbb513de8467dde7bf895134.jpg

но дальше не коннектится :-(

Неактивен

 

#17 16.02.2010 17:17:38

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Подключение к MySQL на сервере в интернете с локального компа

А дальше под этим пользователем уже можете создавать других пользователей smile

Неактивен

 

#18 16.02.2010 20:38:12

rammstein85
Участник
Зарегистрирован: 14.02.2010
Сообщений: 8

Re: Подключение к MySQL на сервере в интернете с локального компа

ето хорошо, но етот пользователь удаленно не подключается к базе, а мне именно ето и надо. клиент говорит, что не находит сервера. может надо еще гдето в конфигаг прописать адрес хоста?

Неактивен

 

#19 16.02.2010 21:25:37

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Подключение к MySQL на сервере в интернете с локального компа

Да smile

Неактивен

 

#20 17.02.2010 00:39:53

rammstein85
Участник
Зарегистрирован: 14.02.2010
Сообщений: 8

Re: Подключение к MySQL на сервере в интернете с локального компа

если вернутся к FAQ п.1 и к тому, что говорили Вы, сделать выводи, что хост надо прописивать не только в приложении, которое коннектится, так как оно все равно говорит, что не находит сервер. Значит, я думаю, надо прописивать в конфиге сервера, но где именно и как для меня остается загадкой. Для установления удаленного соединения нужно указать параметры, характеризующие устанавливаемое подключение. Это

    * --host
    * --protocol
    * --port
в my.ini есть только пункты  protocol и port. пробовал туда дописивать имя хоста и никакого изменения не происходит.
необходимо добавить имя хоста (или ip адрес машины, на которой расположена база) в строке подключения:
mysql --host=host_name
где ето добавлять?

Отредактированно rammstein85 (17.02.2010 00:52:42)

Неактивен

 

#21 17.02.2010 11:07:41

mihey17
Участник
Откуда: Самара
Зарегистрирован: 17.02.2010
Сообщений: 1

Re: Подключение к MySQL на сервере в интернете с локального компа

спасибо. мне кстати помогло.

Неактивен

 

#22 17.02.2010 12:30:52

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Подключение к MySQL на сервере в интернете с локального компа

Представьте себе, что открыли браузер и набрали в нем www.yandex.ru. Как Вы думаете,
нужно ли настраивать яндекс так, чтобы он знал, что сейчас прийдете именно Вы? Нет,
яндексу все равно, кто прийдет. Важно, что Вы говорите Вашему *клиенту* (т.е. браузеру),
что Вы хотите подключиться к Яндексу.

Клиент MySQL ничуть не хуже браузера, он просто заточен под немного другие задачки.
Чтобы подключиться клиентом к серверу, Вы должны сказать *клиенту*, куда нужно под-
ключиться. А серверные настройки трогать не нужно.

Неактивен

 

#23 17.02.2010 23:20:16

rammstein85
Участник
Зарегистрирован: 14.02.2010
Сообщений: 8

Re: Подключение к MySQL на сервере в интернете с локального компа

Спасибо огромное. Буду мучатся что не так. Надеюсь, что все получится ;-)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson