相关疑难解决方法(0)

如何在 Mysql 中更改 VIEW 的 DEFINER?

当我运行 mysqldump 时,出现错误:

mysqldump: Got error: 1449: The user specified as a definer ('root'@'foobar') does not exist when using LOCK TABLES
Run Code Online (Sandbox Code Playgroud)

这是有道理的,因为它foobar是一台不再存在的旧机器。

如何将所有表的定义器更改为 'root'@'localhost'?

mysql mysqldump permissions

41
推荐指数
4
解决办法
13万
查看次数

在许多视图上修改 DEFINER

我在更新后备份我的数据库时遇到问题。我一直在我的系统上四处寻找,试图找出原因。我运行的一个查询返回了这个结果。

Got error: 1449: The user specified as a definer ('cittool'@'%') does not exist when using LOCK TABLES
Run Code Online (Sandbox Code Playgroud)

经过一些调查,这些视图的定义者似乎是一个已从系统中清除的旧开发者帐户。有这个问题的数据库和视图很少使用,并且大多数被保留用于存档目的。

大约有 40 个视图带有不再存在的定义器。有没有一种简单的方法可以一次性将定义者更改为不同的帐户?有没有办法让 mysqldump 简单地将所有视图转储到一个文件中,以便我可以编辑该文件并重新创建视图?

mysql view

29
推荐指数
2
解决办法
6万
查看次数

标签 统计

mysql ×2

mysqldump ×1

permissions ×1

view ×1