gpt4 book ai didi

mysql - 使用 mysql 数据库上的访问信息连接到 MySQL 数据库

转载 作者:行者123 更新时间:2023-11-29 16:07:35 24 4
gpt4 key购买 nike

我收到了一位客户的请求,我很确定答案是否定的,但想知道是否有人有不同的答案。

背景

如您所知,MySQL 安装会创建一个名为“mysql”的数据库,其中存储我们创建的数据库以及用户。

在用户表中,有一个名为“authentication_string”的字段,用于保存用户密码。

项目

在此项目中,每次客户创建帐户时,都会创建新的数据库用户和数据库。

当客户通过 Web 界面登录时,系统会调用 API 来对其进行身份验证。之后root db用户用于连接客户数据库,而不是他们自己的数据库凭据,为什么?因为他们不想在数据库中保存用户和密码(这是一个临时解决方案)

他们想要更改应用程序,因此在身份验证/授权过程之后,他们只需要 root 凭据即可以某种方式从“mysql db”获取用户和密码,然后使用它们使用客户数据库凭据创建连接。

这可能吗?或者是否有一些 mysql 父子配置可以实现这种情况?

项目使用MySQL 5.7

最佳答案

据我所知,我认为你可以使用 MySQL 的 SET PASSWORD 为用户设置一些随机的强密码,然后使用该密码登录。这样,您就不会存储任何内容,并且假设您的根数据库访问与尝试以用户身份登录的事物相当隔离,那么它仍然非常安全。

例如:

SET PASSWORD FOR some_user = <long-strong-randomly-generated-password-string>

然后你返回这个<long-strong-randomly-generated-password-string>从您的访问提供进程中,然后用户进程可以使用它登录。在这种情况下,它将保持有效,直到下一个 SET PASSWORD ,所以请记住这一点,但根据您的用例,这可能没问题。

关于mysql - 使用 mysql 数据库上的访问信息连接到 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55584562/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com