Как подключиться к базе данных MySQL с удаленного компьютера

Как подключиться к базе данных MySQL с удаленного компьютера

Базы данных (БД) – очень легкий способ хранения данных сайта или программы, и один из плюсов – что несколько компьютеров или программ могут работать с базой данных одновременно. Если же ваша MySQL не позволяет подключиться к себе с удаленного компьютера – читайте данную инструкцию.

Инструкция

Уровень сложности: Несложно

Что вам понадобится:

  • Установленная БД MySQL (например, из комплекта Denwer).
  • Связка Apache+PHP или программа, работающая с базой данных - установленная на втором компьютере.
  • Локальное или Интернет-соединение между компьютером-клиентом и компьютером-сервером.
  • Доступ к пользователю "root" (или любому другому, имеющему полные права) базы данных.

1 шаг

Как подключиться к базе данных MySQL с удаленного компьютера

Для начала, сядьте за компьютер, где у вас установлена MySQL. Зайдите в папку, где она у вас установлена (чаще всего это папка вида “X:\usr\mysql”, где X – любая буква жесткого или сетевого диска), и там вы найдете файл “my.cnf”. Если у него значок вида “компьютер со стрелочкой, как у ярлыка” (см. изображение к шагу) – создайте в папке ярлык блокнота (или любого другого текстового редактора, например – Bred 3), и для открытия файла “my.cnf” перетаскивайте файл на ярлык текстового редактора; если же значок вида “неизвестный файл” или “текстовый файл” – открывайте любым текстовым редактором.

2 шаг

Как подключиться к базе данных MySQL с удаленного компьютера

Найдите строку с параметром “bind-address”, и если в начале строки не стоит решетка (#) – поставьте ее. Не забудьте сохранить файл после редактирования.

3 шаг

Перезапустите БД. Конечно, у каждого свои способы – например, можете “убить” процесс “mysqld.exe” через Диспетчер задач (Ctrl+Alt+Delete), а потом запустить БД сначала. С новыми настройками MySQL будет принимать соединения с других компьютеров; правда, обмена данными не получится, если при подключении не указать имя и пароль пользователя, который имеет право использовать БД с удаленного компьютера.

4 шаг

Подключитесь под пользователем “root” (или любым другим пользователем, имеющем полные права) к базе данных с того же компьютера, где стоит база данных, и выполните следующую команду:

GRANT ALL ON *.* TO ’user’@’%’ IDENTIFIED BY ‘password’ WITH GRANT OPTION

Заменив заранее “user” на имя пользователя, которому будет позволено подключаться к БД с удаленного компьютера, “password” – на пароль, который должен использовать пользователь.
Так же вы можете заменить “*.*” на “db.*” – это позволит пользователю работать только с базой данных “db”; или на “db.table” – тогда пользователь будет еще более ограниченным в правах и сможет работать только таблицей “table” в базе данных “db”. Вызвав команду GRANT несколько раз для одного и того же пользователя, но меня объект, на который даете права, вы можете указать точно, с чем сможет работать пользователь.
Команда GRANT в MySQL 5.1 [англ.]

5 шаг

Теперь вы сможете подключиться к базе данных с удаленного компьютера, используя имя пользователя и пароль, которые вы использовали в комманде GRANT. Для того, чтобы забрать права у пользователя (например, забрать право на работу с определенной базой данных), используйте команду REVOKE:

REVOKE ALL, GRANT OPTION ON *.* FROM ’user’@’%’ IDENTIFIED BY ‘password’

Параметры идут не совсем в том же порядке, что и в предыдущем шаге – но они эквивалентны.
Команда REVOKE в MySQL 5.1 [англ.]

6 шаг

Удалить пользователя (вдруг понадобиться удалить тестового пользователя) можно командой DROP USER:

DROP USER ’user’@’%’ IDENTIFIED BY ‘password’

Обратите внимание, что DROP USER не отключит удаляемых пользователей, если они сейчас подключены к БД; но если они отключатся, то подключиться уже не смогут.
Команда DROP USER в MySQL 5.1 [англ.]

Советы и предупреждения:

  • '%' в описанных командах обозначает, что пользователь может подсоединиться с любого компьютера. Если написать 'localhost' или '127.0.0.1' - только с локального. А можно указать конкретный IP - например, '192.168.0.1'.
  • С помощью команды GRANT вы можете сделать, например, двух разных пользователей с одинаковыми именами и паролями, но с разными дозволенными IP-адресами и разными правами. Или два пользователя с одинаковыми именами, но разными паролями. Думайте, что именно вам нужно.

Обсуждение

Ваш комментарий

Запросить инструкцию

Не нашли нужную пошаговую инструкцию?
Возможно, что кто-то из посетителей сайта сможет помочь. Оставьте запрос прямо сейчас, если Вы уверены, что эта тема ещё не освещена на нашем проекте!

Рейтинг
  1. +
  2. 0
0
15399