Веб-студия, создание сайтов, создание Интернет-магазинов
-
Рубрики
-
Календарь
Май 2012 Пн Вт Ср Чт Пт Сб Вс « Авг 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Архивы
- Август 2011 (6)
- Март 2011 (3)
- Февраль 2011 (3)
- Ноябрь 2010 (7)
- Октябрь 2010 (2)
- Сентябрь 2010 (7)
- Август 2010 (8)
- Июль 2010 (11)
- Июнь 2010 (9)
- Май 2010 (16)
- Апрель 2010 (48)
- Март 2010 (23)
- Февраль 2010 (14)
- Январь 2010 (14)
- Декабрь 2009 (9)
- Ноябрь 2009 (6)
- Октябрь 2009 (8)
- Сентябрь 2009 (13)
- Август 2009 (22)
- Июль 2009 (30)
- Июнь 2009 (46)
- Май 2009 (28)
- Апрель 2009 (14)
- Март 2009 (8)
- Февраль 2009 (11)
Новые комментарии
- Галина к записи С Днем сисадмина!
- Примеры скриптов « Эхо блогосферы к записи Разбор XML файла с помощью PHP
- Примеры скриптов « Эхо блогосферы к записи Разбор XML файла с помощью PHP
- admin к записи Сделать спойлер
- admin к записи Сделать спойлер
- Sveta к записи Сделать спойлер
- Sveta к записи Сделать спойлер
- Димыч к записи Простой скрипт для создания превью
Настройка удаленного подключения к MySQL
Эта статья для тех, кто впервые столкнулся с необходимостью установить удаленное соединение с базой данных MySQL. В статье рассказывается о сложностях, которые могут возникнуть при настройке удаленного соединения и о методах их преодоления.
Как установить соединение с удаленной базой?
Для установления удаленного соединения нужно указать параметры, характеризующие устанавливаемое подключение. Это
* –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’);
Пока нет комментариев.
Вы должны зайти чтобы оставить комментарийt.
Нет трэкбэков.
|
General Office Technologies 2010 © All Rights Reserved. Architecture and Web Design: Alexander Morgan |

