Как подключиться к базе данных MySQL с удаленного компьютера
Базы данных (БД) очень легкий способ хранения данных сайта или программы, и один из плюсов что несколько компьютеров или программ могут работать с базой данных одновременно. Если же ваша MySQL не позволяет подключиться к себе с удаленного компьютера читайте данную инструкцию.
Инструкция
Что вам понадобится:
- Установленная БД MySQL (например, из комплекта Denwer).
- Связка Apache+PHP или программа, работающая с базой данных - установленная на втором компьютере.
- Локальное или Интернет-соединение между компьютером-клиентом и компьютером-сервером.
- Доступ к пользователю "root" (или любому другому, имеющему полные права) базы данных.
1 шаг
Для начала, сядьте за компьютер, где у вас установлена MySQL. Зайдите в папку, где она у вас установлена (чаще всего это папка вида X:usrmysql , где X любая буква жесткого или сетевого диска), и там вы найдете файл my.cnf . Если у него значок вида компьютер со стрелочкой, как у ярлыка (см. изображение к шагу) создайте в папке ярлык блокнота (или любого другого текстового редактора, например Bred 3), и для открытия файла my.cnf перетаскивайте файл на ярлык текстового редактора; если же значок вида неизвестный файл или текстовый файл открывайте любым текстовым редактором.
2 шаг
Найдите строку с параметром bind-address , и если в начале строки не стоит решетка (#) поставьте ее. Не забудьте сохранить файл после редактирования.
3 шаг
Перезапустите БД. Конечно, у каждого свои способы например, можете убить процесс mysqld.exe через Диспетчер задач (Ctrl+Alt+Delete), а потом запустить БД сначала. С новыми настройками MySQL будет принимать соединения с других компьютеров; правда, обмена данными не получится, если при подключении не указать имя и пароль пользователя, который имеет право использовать БД с удаленного компьютера.
4 шаг
Подключитесь под пользователем root (или любым другим пользователем, имеющем полные права) к базе данных с того же компьютера, где стоит база данных, и выполните следующую команду:
GRANT ALL ON #42;. #42; TO #8217;user #8217;@ #8217;% #8217; IDENTIFIED BY #8216;password #8217; WITH GRANT OPTION
Заменив заранее user на имя пользователя, которому будет позволено подключаться к БД с удаленного компьютера, password на пароль, который должен использовать пользователь.
Так же вы можете заменить #42;. #42; на db.* это позволит пользователю работать только с базой данных db ; или на db.table тогда пользователь будет еще более ограниченным в правах и сможет работать только таблицей table в базе данных db . Вызвав команду GRANT несколько раз для одного и того же пользователя, но меня объект, на который даете права, вы можете указать точно, с чем сможет работать пользователь.
Команда GRANT в MySQL 5.1 [англ.]
5 шаг
Теперь вы сможете подключиться к базе данных с удаленного компьютера, используя имя пользователя и пароль, которые вы использовали в комманде GRANT. Для того, чтобы забрать права у пользователя (например, забрать право на работу с определенной базой данных), используйте команду REVOKE:
REVOKE ALL, GRANT OPTION ON #42;. #42; FROM #8217;user #8217;@ #8217;% #8217; IDENTIFIED BY #8216;password #8217;
Параметры идут не совсем в том же порядке, что и в предыдущем шаге но они эквивалентны.
Команда REVOKE в MySQL 5.1 [англ.]
6 шаг
Удалить пользователя (вдруг понадобиться удалить тестового пользователя) можно командой DROP USER:
DROP USER #8217;user #8217;@ #8217;% #8217; IDENTIFIED BY #8216;password #8217;
Обратите внимание, что DROP USER не отключит удаляемых пользователей, если они сейчас подключены к БД; но если они отключатся, то подключиться уже не смогут.
Команда DROP USER в MySQL 5.1 [англ.]
Советы и предупреждения:
- "% " в описанных командах обозначает, что пользователь может подсоединиться с любого компьютера. Если написать "localhost " или "127.0.0.1 " - только с локального. А можно указать конкретный IP - например, "192.168.0.1 ".
- С помощью команды GRANT вы можете сделать, например, двух разных пользователей с одинаковыми именами и паролями, но с разными дозволенными IP-адресами и разными правами. Или два пользователя с одинаковыми именами, но разными паролями. Думайте, что именно вам нужно.
Как подключиться к базе данных MySQL с удаленного компьютера