zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

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

mysql批量SQL执行 修改 视图 办法
2023-09-27 14:24:14 时间

前人挖坑 后人填坑


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
不然那就会出现视图权限不对的情况.
为了简单起见能一致还是一致好一些.