mysql - MySQL 中的用户是谁?

标签 mysql database

我开始学习开发数据库应用程序的基础知识(我想专门学习 MySQL),但我无法确定应用程序的结构应该如何。假设我的系统为学校的学生提供服务(记录成绩等),其中客户端是一个用 C++/Qt 编写的 GUI 应用程序,通过互联网与我的服务器计算机通信。

我的问题是实现这个的自然/正确方法是什么?

  • 我是否将 SQL 查询直接封装在 GUI 程序中,以及 从而使每个学生都成为 MySQL 数据库的用户,从而 为每个学生分配一个数据库用户?
  • 或者封装应该发生在我的服务器端应用程序中 write 表示 GUI 应用程序和数据库之间的链接 服务器? (即服务器端应用程序是 MySQL系统。)

也就是说,谁是MySQL的用户?我的服务器端应用程序或我的客户端应用程序的用户?

最佳答案

在这两种情况下(宽客户端——客户端-DB 或瘦客户端——客户端-服务器)只有 1 个 MySQL 用户就足够了。 您会将其用户名和密码存储在应用程序设置中(通常对普通学生/客户隐藏)。 您会将这些权利授予应用程序用户名,而不是学生。

控制用户权限是应用程序的作用。

安全: 对于瘦客户端,它通常是安全的,但它会引入使用 API key 的需要,这有其危险性。 对于宽客户端架构来说,这已经够危险了,所以:

  • 通常,此类应用程序在内部工作
  • MySQL 用户拥有保护数据不被完全破坏的权利(至少禁止删除表)。
  • 授予用户在特定主机上的权限
  • 每小时或每天制作备份副本取决于 尺寸
  • 最好存储密码,但不要以公开形式存储 加密

关于mysql - MySQL 中的用户是谁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48082592/

相关文章:

python - 在 Python 中访问标识符映射的有效方法

php - 适当的缓存——应该如何保存查询结果的数量?

MYSQL大数据表设置

mysql - 为什么SQL的求和结果与原始数据的结果不兼容?

php - 如何使用 javascript 或类似的东西更新记录 mysql

java - hibernate 多个连接动态变化

sql - JOIN 与 SELECT 的性能...WHERE 示例

mysql - 将数据从父查询传递到子查询

mysql - 为什么我们需要使用外键?

PHP警告: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/mysql.so'