Mysql віддалене підключення, доступ по мережі

Зіткнувся з однією проблемою. Потрібно для WEB-проекту зробити віддалене підключення до MySQL. тобто надати віддалений доступ по локальній мережі до бази даних MySQL.







Проект написаний на PHP, і я використовую збірку XAMPP під Windows для своїх веб-проектів. Необхідно, щоб користувачі сусідніх в локальній мережі комп'ютерів могли підключатися до моєї базі даних MySQL і працювати з нею в повному обсязі.

Тому завдання трохи змінюється: як надати віддалений доступ до MySQL по локальній мережі для XAMPP?

Пошукавши потрібну інформацію в Інтернеті, я знайшов рішення на своє питання:

2. Ще нижче необхідно додати рядок «skip-name-resolve«, що б при віддаленому підключенні не виходила помилка: «ERROR 1042 (HY000): Can not get hostname for your address«.

У мене файл «my.ini» з настройками «[mysqld]« MySQL виглядає приблизно так:

[Mysqld] port = 3306 socket = "C: /xampp/mysql/mysql.sock" basedir = "C: / xampp / mysql" tmpdir = "C: / xampp / tmp" datadir = "C: / xampp / mysql / data "pid_file =" mysql.pid "skip-external-locking key_buffer = 16M max_allowed_packet = 1M table_cache = 64 sort_buffer_size = 512K net_buffer_length = 8K read_buffer_size = 256K read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M log_error =" mysql_error.log "bind-address = 0.0 .0.0skip-name-resolve







3. Збережіть файл і перезавантажте (Restart) MySQL сервер.

4. Якщо у вас включений Брандмауер Windows або встановлений який-небудь сторонній
Firewall. то вам необхідно дозволити / надати доступ до порту 3306 сервера MySQL.

У Windows це знаходиться в Пуск -> Панель управління -> Брандмауер Windows. Перейдіть на вкладку «Винятки» і натисніть на кнопку «Додати порт ...«. Впишіть ім'я - MySQL, порт - 3306, з'єднання - TCP і UDP (на всякий випадок зробіть 2 записи з TCP і UDP).

Доступ до порту 3306 можна перевірити сканером відкритих портів по мережі будь-якою програмою з Інтернету (наприклад Angry IP Scanner). Можна так само спробувати підключитися через Telnet з командного рядка віддаленого комп'ютера (Пуск -> Виконати -> cmd):

5. Створіть базу даних і нового користувача MySQL для віддаленого підключення:

Можете призначити користувачу права на вже існуючі бази даних:

UPDATE db set Host = '%' where Db = 'webdb';

Можете дозволити віддалене підключення вже існуючому користувачеві:

UPDATE user set Host = '%' where user = '';

От і все! Повинно все працювати.

Якщо комусь необхідно надати віддалений доступ до MySQL по мережі для Linux. то рекомендую подивитися тут: cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html

Comenteaza







Схожі статті