连接另一台计算机的数据库

连接另一台计算机的数据库

我无法在另一台电脑上连接数据库。我已禁用防火墙并按照另一个论坛中的说明进行操作。

我是否应该在另一台电脑上安装软件或第三方软件来连接数据库?我正在使用 XAMPP 服务器。

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

答案1

如果我对您的查询的理解是正确的(您无法以 root 身份远程登录到 MySQL/MariaDB 数据库 - 假设这是全新安装)——回答您的问题—— No there is no need to install any additional software

您确实需要更新 MySQL/MariaDB 安装的一些详细信息(以下选项需要在安装 MySQL/MariaDB 的 PC 上完成)

选项 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 / 主机登录 - 只需将 % 替换为连接 PC 的 IP 或主机名。
  2. 授予某些用户使用权(即允许用户登录)
  3. 创建名为 someuserdb 的数据库(如果不存在)
  4. 授予 someuser 对 someuserdb 的全部权限

选项 2:
允许 root 用户名远程登录

默认情况下,root 有

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

因此,仅允许从本地主机(安装了 MariaDB/MySQL 服务器的 PC)登录 root 帐户。

您可以通过以下方式改变:

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

这个想法是,您要将其从“root”@“localhost”更改为允许 root 从您选择的某个远程 IP 或主机名登录。在更改该访问权限后,您需要刷新权限以使该访问权限确认到数据库中。

注意:可能有充分的理由不允许从远程位置进行 root 登录 - 因此尽管可以使用此选项,但我建议使用选项 1。

归功于堆栈溢出因为我的大部分答案都来自那里。

希望这可以帮助。

相关内容