2015-07-09 19 views
8

Ciao, attualmente sto avendo un problema con MySQL!# 1227 - Accesso negato; è necessario (almeno uno dei) privilegi SUPER per questa operazione

Cosa non va? Sono un utente cPanel e sì, ho cercato questo e non ho trovato risposte definitive. Sembra che questo sia più specifico di altre persone con gli stessi problemi con i codici di errore. Si prega di aggiungere una risposta dettagliata che posso seguire insieme! P.s Sto usando un account di hosting condiviso.

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$$ 

Ecco il codice di errore:

MySQL said: Documentation 

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

risposta

21

Significa che non si dispone dei privilegi per creare il grilletto con root @ localhost utente ..

provare a rimuovere definer dal comando trigger:

CREATE DEFINER = root @localhost FUNZIONE fnc_calcWalkedDistance

+0

Ho scaricato il mio database in file sql, non mi ricordo di creare alcuna funzione come questa ... Cercando su file di dump, ho trovato in ultima riga questo comando, rimuovo e funziona, grazie. – rafaelfndev

7

Questo potrebbe venire in un po 'tardi, ma nel caso in cui si sta caricando un file sql su cpanel, quindi provare e sostituire radice con il tuo username cPanel nel file sql.

nel caso precedente si potrebbe scrivere

CREA DEFINER = control_panel_username @localhost FUNZIONE fnc_calcWalkedDistance

quindi caricare il file. Spero che aiuti

+0

yep it was control_panel_user @ localhost per me – FosAvance