加载中…
个人资料
张永强
张永强
  • 博客等级:
  • 博客积分:0
  • 博客访问:240,052
  • 关注人气:15
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

MySQL如何批量修改视图(VIEW)的属主(DEFINER)

(2018-04-04 10:07:38)
标签:

视图

definer

批量

修改

information_schema

分类: 软件开发
       MySQL中所有数据库的视图语法都存储在库information_schema的表views中。如下图:
MySQL如何批量修改视图(VIEW)的属主(DEFINER)

       也就是说,期望修改视图的definer,那么直接修改表information_schema.views的字段DEFINER的数据即可。但是库information_schema的数据是不允许直接修改的。提示“ERROR 1044 (42000): Access denied”错误如下图:

MySQL如何批量修改视图(VIEW)的属主(DEFINER)

       但是,可以通过查询表information_schema.views的数据,替换DEFINER字段,重新生成alter VIEW的SQL,然后统一执行。sql如下:
select concat("alter DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW ",TABLE_SCHEMA,".",TABLE_NAME," as ",VIEW_DEFINITION,";") from information_schema.VIEWS where DEFINER = 'root@%';
MySQL如何批量修改视图(VIEW)的属主(DEFINER)

    将查询结果复制出来,执行即可。
    

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有