当前位置: 首页 > 面试题库 >

何时真正需要MySQL中的Flush Privileges?

夹谷斌蔚
2023-03-14
问题内容

当创建新表并与一个用户一起使用时,我通常只调用以下命令:

CREATE DATABASE mydb;
GRANT ALL PRIVILEGES ON mydb.* TO myuser@localhost IDENTIFIED BY "mypassword";

FLUSH PRIVILEGES发出前两个命令后,我再也不需要使用该命令。用户可以登录并使用他们的数据库,并运行可以很好地连接到数据库的PHP脚本。但是,我看到几乎所有我看过的教程都使用了此命令。

什么时候FLUSH PRIVILEGES真正需要该命令,什么时候不必要?


问题答案:

通过GRANT选项分配的特权不需要FLUSH PRIVILEGES才能生效-MySQL服务器将注意到这些更改并立即重新加载授权表。

从MySQL文档:

如果直接使用诸如INSERT,UPDATE或DELETE之类的语句修改授权表,则在重新启动服务器或告诉服务器重新加载表之前,所做的更改不会影响特权检查。如果直接更改授权表但忘记重新加载它们,则更改将在重新启动服务器之前无效。这可能会让您想知道为什么更改似乎没有效果!

要告诉服务器重新加载授权表,请执行flush-privileges操作。这可以通过发出FLUSH PRIVILEGES语句或执行mysqladmin
flush-privileges或mysqladmin reload命令来完成。

如果使用诸如GRANT,REVOKE,SET PASSWORD或RENAME
USER之类的帐户管理语句间接修改授权表,则服务器会注意到这些更改并立即将授权表再次加载到内存中。



 类似资料:
  • 问题内容: 我正在尝试使用一些UI按钮将位置移动0.1或-0.1来影响3D模型的转换。 我的模型位置是一个三维浮点数,因此简单地向其中一个值添加0.1f会导致明显的舍入误差。虽然我可以使用BigDecimal之类的东西来保持精度,但我仍然必须将其从浮点数转换为最后的浮点数,并且它始终会产生愚蠢的数字,这使我的UI看起来一团糟。 我可以将显示的值设为漂亮,但是舍入错误只会随着更多的编辑而变得更糟,它

  • 问题内容: 我在阅读AngularJS附带的精简版jQuery。但是,我不断听到有关谈论Angular和jQuery的人们的参考。我什至检查了ng- grid 并注意到它说: AngularUI团队用AngularJS和jQuery编写的Angular Data Grid 因此,如果我确实在需要jQuery的时候才使用Angular,那么AngularJS附带的版本又没有提供什么呢? 问题答案:

  • 问题内容: 关于BlackBerry的push技术,似乎没有大量的信息。我唯一想完成的就是在黑莓设备可用时向它们发送通知。为此,我真的需要TomCat和MySQL吗?我的Java程序不是Servlet,对于Web而言,我使用PHP并通过套接字与Java通信。 我正在使用Java,如果有人知道一些示例,那就太好了。 问题答案: 您可以使用任何语言推送到服务器。您唯一需要的是PUSH SDK的演示AP

  • 问题内容: 我真的需要做mysql_close()吗?为什么或者为什么不? 即使我不执行mysql_close,也有触发器会在mysql_connect之后关闭链接吗? 问题答案: 在大多数情况下,调用不会对性能产生任何影响。但是,关闭程序不再使用的资源(文件句柄,打开的套接字,数据库连接等)始终是一个好习惯。 如果您正在做可能要花费几秒钟的操作,例如从REST API读取和解析数据,则尤其如此。

  • 问题内容: 我们的MySql表有2500万行 以下是表中的列 以上我们在c_id,c_name,s_id,l_type,域列上具有正常索引 我打算在域,l_time,l_type列上添加复合索引。因此,现在我可以删除域上的单个索引了吗? 谢谢 问题答案: 复合索引的任何前缀也将单独用作索引。因此,如果您有一个复合索引,则相当于在和上都有索引。无需分别将这些索引分开,它们将是多余的并且浪费空间。 因

  • 我有一个Flink应用程序,它从Kafka中读取一些事件,从MySQL中丰富数据,使用窗口函数缓冲数据,并将窗口内的数据写入HBase。我目前已经启用了检查点,但事实证明,检查点非常昂贵,随着时间的推移,它花费的时间越来越长,并影响我的作业延迟(Kafka摄取率落后)。如果我想办法使HBase写操作幂等,是否有充分的理由使用检查点?我可以将内部kafka消费客户端配置为每隔一段时间提交一次,对吗?