在phpMyAdmin中创建没有超级权限的视图 [英] Create view without SUPER privileges in phpMyAdmin

查看:236
本文介绍了在phpMyAdmin中创建没有超级权限的视图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图通过phpmyadmin中的SQL选项卡来创建/导入这样的视图:

I am trying to via SQL tab within the phpmyadmin to create/import a view like this:

CREATE ALGORITHM=UNDEFINED DEFINER=`byname`@`localhost` SQL SECURITY DEFINER VIEW `wr_averages` AS select `nf_users`.`id` AS `id`,(`nf_users`.`points` / `nf_users`.`played`) AS `average_points` from `nf_users` where (`nf_users`.`played` > 24);

我收到此错误:

#1227 - Access denied; you need the SUPER privilege for this operation

我无法在托管公司获得SUPER特权,所以仍然可以解决此问题吗?

I can not get SUPER privileges at my hosting company, so is there anyway to get around this?

预先感谢:-)

推荐答案

来自文档:

如果指定DEFINER子句,则除非您具有SUPER特权,否则不能将值设置为您自己的用户.这些规则确定了合法的DEFINER用户值:

  • *如果您没有SUPER特权,则唯一的合法用户值是您自己的帐户,可以通过字面方式或使用CURRENT_USER进行指定.您不能将定义器设置为其他帐户.*
  • 如果您具有SUPER特权,则可以指定任何语法上合法的帐户名.如果该帐户实际上不存在,则会生成警告.

检查您的MySQL帐户,它不是byname @ localhost.

Check your MySQL account, it is not byname@localhost.

解决方案:

  • 使用授予SUPER特权的帐户,使用DEFINER子句创建新视图.
  • 请勿在CREATE VIEW中使用DEFINER子句,在这种情况下,MySQL将创建视图DEFINER = CURRENT_USER.

这篇关于在phpMyAdmin中创建没有超级权限的视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆