MySql从开发到生产转移到另一个用户

时间:2016-06-08 12:02:11

标签: mysql mysqldump

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

现在,我需要将整个过程转移到生产中,显然不是在MySQL ROOT用户之下。

我想要做以下事情,但在参与之前我会很感激专家意见:

  1. 使用mysqldump -u root -p -R MySB > dump.sql
  2. 获取备份
  3. 编辑文件并将root的所有实例替换为correct_user(其中 correct_user 将是拥有所有表和例程的MySQL用户),
  4. 在生产数据库中创建相同的用户
  5. 使用mysqldump -u correct_user -p -R MySB < dump.sql从转储文件恢复。
  6. 任何人都可以告诉我,我的计划是否正确,或者是否有更好(更正式)的方式来做这件事?

    非常感谢。

1 个答案:

答案 0 :(得分:0)

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

程序,功能,触发器,事件和视图都有所谓的&#34; definer &#34;。用户是执行代码的用户。这个应该从 root 更改。确保新用户具有足够的权限。他只需要在例行程序中运行代码的权限,而不是更多。

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