#1227-Доступ запрещен; вам нужна (по крайней мере, одна из) супер привилегий для этой операции

Здравствуйте, у меня в настоящее время проблема с MySQL!

что здесь не так? Я cPanel пользователь, и да, я искал это и не нашел однозначных ответов. Похоже, это более конкретно, чем другие люди с теми же проблемами кодов ошибок. Пожалуйста, добавьте подробный ответ, который я могу следовать вместе с! P. S Я использую виртуального хостинга.

DELIMITER $$--
-- Functions
--
CREATE DEFINER =  `root`@`localhost` FUNCTION  `fnc_calcWalkedDistance` (

`steamid64` BIGINT UNSIGNED
) RETURNS INT( 10 ) UNSIGNEDNO SQL BEGIN DECLARE finished INTEGER DEFAULT 0;

DECLARE distance INTEGER DEFAULT 0;

DECLARE x1, x2, z1, z2 FLOAT;

DECLARE curs CURSOR FOR SELECT x, z
FROM log_positions
WHERE  `steamid` = steamid64
ORDER BY  `timestamp` DESC ;

DECLARE CONTINUE HANDLER FOR NOT FOUND SET finished =1;

OPEN curs;

FETCH curs INTO x1, z1;

SET x2 = x1;

SET z2 = z1;

calculate : LOOPFETCH curs INTO x1, z1;

IF finished =1 THEN LEAVE calculate;

END IF ;

SET distance = distance + SQRT( POW( x2 - x1, 2 ) + POW( z2 - z1, 2 ) ) ;

-- SET distance = distance + 1;
SET x2 = x1;

SET z2 = z1;

END LOOP calculate;

CLOSE curs;

RETURN distance;

END$$

вот код ошибки:

MySQL said: Documentation

#1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation 

3 ответов


это означает, что у вас нет привилегий для создания триггера с корень@localhost в пользователей..

попробуйте удалить definer из команды триггера:

создать DEFINER = root@localhost функции fnc_calcWalkedDistance


Это может прийти немного поздно, но в случае, если вы загружаете файл sql на cpanel, попробуйте заменить root своим именем пользователя cpanel в вашем файле sql.

в случае выше, вы могли бы написать

СОЗДАТЬ ОПРЕДЕЛИТЕЛЬ = control_panel_username@localhost функции fnc_calcWalkedDistance

затем загрузить файл. Надеюсь, это поможет


просто удалите " DEFINER=your user name@localhost " и запустить SQL из phpmyadminwill работает нормально.