Я не могу подключить базу данных на другом ПК. Я уже отключил брандмауэр и следовал инструкции на другом форуме.

Нужно ли устанавливать программное обеспечение или программное обеспечение сторонних производителей для подключения базы данных на другом компьютере? Я использую сервер XAMPP.

Dim con As New MySqlConnection("server=192.xxx.x.xxx;port=3306;database=sampledatabase;uid=root")

1 ответ1

0

Если мое понимание вашего запроса правильное (вы не можете удаленно войти в систему как root в базу данных MySQL/MariaDB как root (при условии, что это новая установка)) - чтобы ответить на ваш вопрос - No there is no need to install any additional software .

Вам необходимо обновить некоторые детали установки MySQL/MariaDB (перечисленные ниже параметры необходимо выполнить на ПК, на котором установлен MySQL/MariaDB)

Опция 1:
Создайте нового пользователя с некоторыми привилегиями над базой данных, о которой вы заботитесь (пример кода, как показано ниже - отредактируйте по своему усмотрению)

CREATE USER 'someuser'@'%' IDENTIFIED BY 'somepassword';
GRANT USAGE ON *.* TO 'someuser'@'%' IDENTIFIED BY 'somepassword'
CREATE DATABASE IF NOT EXISTS 'someuserdb';
GRANT ALL PRIVILEGES ON 'someuserdb'.* TO 'someuser'@'%';

Код выше делает несколько вещей:

  1. Создание нового имени пользователя someuser с паролем somepassword и разрешение someuser входа в систему из любого места (someuser @ @%). Вы можете ограничить удаленный вход IP / хост, добавив правильные данные - просто замените% с IP или именем хоста подключающегося ПК.
  2. Предоставление пользователю права на использование (т. Е. Разрешение пользователю войти в систему)
  3. Создание базы данных (если ее там нет) под названием someuserdb
  4. Предоставьте someuser полные привилегии для someuserdb

Вариант 2:
Разрешить удаленный вход для имени пользователя root

По умолчанию root имеет

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost'..... 

Таким образом, вход в систему с учетной записью root разрешен только с локального хоста (ПК, на котором установлен сервер MariaDB/MySQL).

Вы можете изменить это следующим образом:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'someIPorHostname.%'
IDENTIFIED BY 'some_characters'  
WITH GRANT OPTION;
FLUSH PRIVILEGES;

Идея состоит в том, что вы меняете его с «root» @ «localhost» на разрешение root входить с какого-либо удаленного IP-адреса или имени хоста по вашему выбору. В конце изменения этого доступа вам нужно сбросить привилегии, чтобы подтверждение доступа было подтверждено в БД.

Примечание. Может быть веская причина, по которой вход в систему root запрещен из удаленного местоположения, поэтому, хотя этот параметр доступен, я бы рекомендовал использовать вариант 1.

Благодарю stackoverflow, поскольку большая часть моего ответа пришла оттуда.

Надеюсь это поможет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .