MySQL批量执行SQL修改视图属主的办法

前人挖坑 后人填坑


Study From https://blog.csdn.net/carefree2005/article/details/109812943

第一步: 形成SQL

select concat("alter DEFINER='gscloudrt'@'%' SQL SECURITY DEFINER VIEW ",TABLE_SCHEMA,".",TABLE_NAME," as ",VIEW_DEFINITION,";") from information_schema.VIEWS where table_schema= 'yourschema';

第二步: Copy and run

原作者的标点符号不对 调标点符号太烦人了 直接写个新的得了.
感谢原作者.

问题说明:

Mysql数据库的表的属主好像是database 的name  
视图的属主好像是user ,如果建库时database与user 不一致, 那么备份出来的环境就需要处理一下两个地方
不仅仅要替换 databasename 还需要替换 username
不然那就会出现视图权限不对的情况.
为了简单起见能一致还是一致好一些.
原文地址:https://www.cnblogs.com/jinanxiaolaohu/p/15019992.html