一、查询所有视图的库名、表名、定义者
mysql>select TABLE_SCHEMA,TABLE_NAME,DEFINER from information_schema.VIEWS;
二、生成alter VIEW的SQL
使用Navicat Premium 12(数据库连接客户端工具)执行如下查询语句,其中test@%为原视图定义者,root@localhost为需要修改的新的视图定义者。
select concat(“alter DEFINER=‘root’@‘localhost’ SQL SECURITY DEFINER VIEW “,TABLE_SCHEMA,”.”,TABLE_NAME," as “,VIEW_DEFINITION,”;") from information_schema.VIEWS where DEFINER = ‘test@%’;
三、执行生成的修改DEFINER语句
复制生成的SQL语句并执行