修改mysql的视图定义者

一、查询所有视图的库名、表名、定义者

mysql>select TABLE_SCHEMA,TABLE_NAME,DEFINER from information_schema.VIEWS;

二、生成alter VIEW的SQL

使用Navicat Premium 12(数据库连接客户端工具)执行如下查询语句,其中[email protected]%为原视图定义者,[email protected]为需要修改的新的视图定义者。

select concat(“alter DEFINER=root@localhost SQL SECURITY DEFINER VIEW “,TABLE_SCHEMA,”.”,TABLE_NAME," as “,VIEW_DEFINITION,”;") from information_schema.VIEWS where DEFINER = ‘[email protected]%’;

三、执行生成的修改DEFINER语句

复制生成的SQL语句并执行

修改mysql的视图定义者