在不泄露密码的情况下远程访问mysql数据库

问题描述 投票:0回答:2

我想让远程站点(属于我的其他人)访问我的服务器上受密码保护的 mysql 数据库,但我不想向他们透露实际密码。

是否可以在我的服务器上拥有 mysql 访问文件(带有用户名和 pswd),并且他们只需通过它进行连接,以便他们的站点可以访问我的 MYSQL 数据库中的数据,但我实际上并没有公开向他们透露 pswd .

是否也可以以只读方式授予此类访问权限。我只是想让他们可以查询数据库,而不是下载整个数据库或对其进行更改。

mysql remote-access
2个回答
1
投票

远程方需要凭据才能对您的 MySQL 数据库执行任何操作。即使您要打开某种文件共享以让他们访问物理文件,但这仍然不允许他们对文件执行任何操作(并且将实际文件暴露在外部之外并不是一个好主意)数据库服务器)。 专门为他们设置一个单独的用户帐户,为他们提供

他们需要的权限。 您可以限制允许访问哪些 MySQL 数据库,以及它们在每个数据库中可以执行的操作。

https://dev.mysql.com/doc/refman/5.5/en/adding-users.html


0
投票

对于远程主机上的MySQL客户端命令,我们可以通过这种方式隐藏用户名和密码:

在您的主机上,创建一个混淆的隐藏文件 .mylogin.cnf
  1. mysql_config_editor set --login-path=client --user=[mysqluser4friends] --password
您输入一些秘密密码,因为您的 MySQL 服务器与用户 [mysqluser4friends] 关联。
这会在 Windows 上创建一个文件

C:\Users\[your-username]\AppData\Roaming\MySQL\.mylogin.cnf

这是一个像这样的二进制文件:

将此二进制文件复制到您朋友的桌面计算机上,作为文件:
  1. C:\Users\[your-friend-username]\AppData\Roaming\MySQL\.mylogin.cnf
您的朋友可以从他的电脑访问您的数据库:
  1. mysql -h [your-mysql-server-ip-address]
用户名和密码不可读。但你的朋友无论如何都可以看到用户名

mysql_config_editor print -all

只有密码真的像*****一样隐藏。

© www.soinside.com 2019 - 2024. All rights reserved.