gpt4 book ai didi

MySql 从开发转向生产到不同的用户

转载 作者:行者123 更新时间:2023-11-29 20:55:08 24 4
gpt4 key购买 nike

我有一个项目需要转移到生产环境(第一次)。该数据库包括几十个表和过程/函数。它们都是在 ROOT 用户下创建的(是的,我知道这是不好的做法)。

现在,我需要将整个内容转移到生产环境中,并且显然不是在 MySQL ROOT 用户下。

我想执行以下操作,但在实现之前正在寻求专家意见:

  1. 使用 mysqldump -u root -p -R MySB > dump.sql 获取备份,
  2. 编辑文件并替换 root 的所有实例与 correct_user (其中正确的用户是拥有所有表和例程的MySQL用户),
  3. 在生产数据库中创建相同的用户,
  4. 使用mysqldump -u correct_user -p -R MySB < dump.sql从转储文件恢复.

我的计划正确还是有更好(更正式)的方法来实现?

最佳答案

MySQL 中的表没有所有者。您不必担心创建它们的用户。

过程、函数、触发器、事件和 View 都有所谓的“定义器”。它是用户,在该用户下执行代码。这个应该从root 更改。确保新用户有足够的权限。他只需要在例程内运行代码的权限,而不需要更多权限。

所以你的步骤是正确的。但最终的加载(4)应该以root或具有 super 权限的用户身份完成。

关于MySql 从开发转向生产到不同的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37701936/

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