[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: не знаю как соединиться с базой данных
Crash2007
здравствуйте!

без предыстории..
я обычно администрировал базами данных в phpmyadmin. а сейчас заказчик прислал письмо с таким содержанием:
DB: (базаданных)
login: (логин)
pwd: (пароль)

MySQL слушает на адресе (IP адрес)

погуглил, нашёл что то про SSH, но всё равно не могу соединится..

как мне соединится в mysql?



Спустя 3 минуты, 32 секунды (1.03.2012 - 18:26) inpost написал(а):
host: вместо localhost пишешь ip

Спустя 1 минута, 4 секунды (1.03.2012 - 18:27) walerus написал(а):
Процитирую более подробно
Свернутый текст
Как установить соединение с удаленной базой?

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

* --host
* --protocol
* --port

Из четырех возможных протоколов удаленное подключение позволяет только TCP/IP, поэтому первым требованием является доступность компьютера из сети по TCP/IP. Далее необходимо добавить имя хоста (или ip адрес машины, на которой расположена база) в строке подключения:
mysql --host=host_name Обратите внимание, что указание в качестве имени хоста значения localhost (или же отсутствие такого параметра, что то же самое, так как это дефолтное значение) приводит к обращению на локальную машину.

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

* mysql --host=myhost.ru
* mysql -h myhost.ru
* mysql -hmyhost.ru

Как настроить соединение с удаленной базой?

В MySQL пользователь характеризуется двумя параметрами: именем и хостом, с которого он может обращаться. По умолчанию доступ разрешен только с локальной машины, т.е. для пользователя user@localhost. Права на доступ пользователям даются с помощью команды GRANT. Команда выполняется под рутом.

Например, если я хочу создать юзера, который сможет коннектиться с любого хоста с полными правами, то следует выполнить следующую команду:

GRANT ALL PRIVILEGES ON `имя_базы`.* TO myuser@% IDENTIFIED BY 'пароль';


Примечание. Обратите внимание, что данная команда дает доступ пользователю myuser со всех IP кроме 127.0.0.1, соответсвующего localhost.
Для пользователя myuser@localhost необходимо давать права отдельной командой GRANT.

Если вы решите обратиться к локальной машине как к удаленной, используя протокол TCP/IP, то не забывайте, что myuser@localhost и myuser@ip_собственного_компа это разные пользователи и каждому из них права нужно давать отдельной командой.

Второй пример показывает как дать право читать таблицу time_zone в базе mysql пользователю myuser с машины 192.168.0.76 с паролем mypassy:

GRANT SELECT ON mysql.time_zone TO myuser@192.168.0.76 IDENTIFIED BY 'mypassy';
Возникающие сложности

Если после всех действий у вас возникает ошибка (Can't connect to Mysql Server on 'ваш IP'(10061)), значит соединение блокирует firewall (windows firewall, outpost, антивирус или еще что-то).

Если возникает ошибка (Client does not support autentification protocol request by server; consider upgrading MySQL client), клиент (то есть ваша программа) не поддерживает требуемый сервером протокол.
Эту ошибку можно исправить, установив пароль старого формата:

SET PASSWORD FOR user@host = OLD_PASSWORD('password');

Спустя 56 минут, 25 секунд (1.03.2012 - 19:24) Crash2007 написал(а):
спасибо!
мне тут еще немного инфы прислали и я загрузил дамп посредством РНР.


_____________
Рисую на PHP :)
Быстрый ответ:

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