我正在尝试将我的一个旧数据库导入我的新数据库。
为此,我创建了一个具有与以前相同权限的用户:
除了以下几乎所有命令似乎都有效:
CREATE ALGORITHM=UNDEFINED DEFINER=`foo`@`localhost` SQL SECURITY DEFINER VIEW `wp_affiliate_wp_campaigns` AS select `wp_affiliate_wp_visits`.`affiliate_id` AS `affiliate_id`,`wp_affiliate_wp_visits`.`campaign` AS `campaign`,count(`wp_affiliate_wp_visits`.`url`) AS `visits`,count(distinct `wp_affiliate_wp_visits`.`url`) AS `unique_visits`,sum(if((`wp_affiliate_wp_visits`.`referral_id` <> 0),1,0)) AS `referrals`,round(((sum(if((`wp_affiliate_wp_visits`.`referral_id` <> 0),1,0)) / count(`wp_affiliate_wp_visits`.`url`)) * 100),2) AS `conversion_rate` from `wp_affiliate_wp_visits` group by `wp_affiliate_wp_visits`.`affiliate_id`,`wp_affiliate_wp_visits`.`campaign`;
这给了我以下错误:
Error Code: 1227. Access denied; you need (at least one of) the SUPER privilege(s) for this operation
这很奇怪,因为此表是使用与我的旧数据库具有相同权限的用户创建的(即表foo
的所有权限)。
所以我的问题是:
答案 0 :(得分:2)
我遇到了同样的问题。对我有用的是取消:
ALGORITHM=UNDEFINED DEFINER=`foo`@`localhost` SQL SECURITY DEFINER
然后你就会:
CREATE VIEW `wp_affiliate_wp_campaigns'...
像魅力一样工作。祝你好运!