Як підключитися до бази даних MySQL з віддаленого комп'ютера.


Бази даних (БД) - дуже легкий спосіб зберігання даних сайту або програми, і один з плюсів - що кілька комп'ютерів або програм можуть працювати з базою даних одночасно. Якщо ж ваша MySQL не дозволяє підключитися до себе з віддаленого комп'ютера - читайте цю інструкцію.

Інструкція Рівень складності: Нескладно Що вам знадобиться:
  • Встановлена ??БД MySQL (наприклад, з комплекту Denwer).
  • Зв'язка Apache + PHP або програма, що працює з базою даних - встановлена ??на другому комп'ютері.
  • Локальне або Інтернет-з'єднання між комп'ютером-клієнтом і комп'ютером-сервером.
  • Доступ до користувача "root" (або будь-якого іншого, що має повні права) бази даних.
1 крок

Для початку, сядьте за комп'ютер, де у вас встановлена ??MySQL. Зайдіть в папку, де вона у вас встановлена ??(найчастіше це папка виду "X: \ usr \ mysql", де X - будь-яка буква жорсткого або мережного диска), і там ви знайдете файл "my.cnf". Якщо у нього значок виду "комп'ютер зі стрілочкою, як у ярлика" (див. зображення до кроку) - створіть в папці ярлик блокнота (або будь-якого іншого текстового редактора, наприклад - Bred 3), і для відкриття файлу "my.cnf" перетягуйте файл на ярлик текстового редактора, якщо ж значок виду "невідомий файл" або "текстовий файл" - відкривайте будь-яким текстовим редактором.

2 крок

Знайдіть рядок з параметром " 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 -адресами і різними правами. Або два користувачі з однаковими іменами, але різними паролями. Думайте, що саме вам потрібно.