Vorrei sapere se esiste un modo per una query mysql di restituire il nome utente dell'utente che emette la query.
È possibile?
Vorrei sapere se esiste un modo per una query mysql di restituire il nome utente dell'utente che emette la query.
È possibile?
Risposte:
Prova la CURRENT_USER()funzione. Questo restituisce il nome utente che MySQL ha utilizzato per autenticare la connessione del client. È questo nome utente che determina i tuoi privilegi.
Potrebbe essere diverso dal nome utente inviato a MySQL dal client (ad esempio, MySQL potrebbe utilizzare un account anonimo per autenticare il client, anche se hai inviato un nome utente). Se vuoi il nome utente che il client ha inviato a MySQL durante la connessione, usa USER()invece la funzione.
Il valore indica il nome utente specificato durante la connessione al server e l'host client da cui ci si è connessi. Il valore può essere diverso da quello di CURRENT_USER ().
http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_current-user
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CURRENT_USER()' at line 1
CURRENT_USER()non era corretto per la domanda "C'è un modo per conoscere * il tuo * nome utente corrente in mysql?". La risposta è stata "USER ()", che "Restituisce l'utente corrente di MySQL" ( dev.mysql.com/doc/refman/5.7/en/… ). Dovresti aggiornare la tua risposta per essere più completa, è troppo breve.
Prova a scappare
SELECT USER();
o
SELECT CURRENT_USER();
A volte può essere diverso, USER () restituirà il login che hai tentato di autenticare e CURRENT_USER () restituirà come ti è stato effettivamente permesso di autenticarti.
Puoi usare:
SELECT USER();
o
SELECT CURRENT_USER();
Vedi di più qui http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_current-user
per stampare l'utente corrente che sta utilizzando il database
select user();
o
select current_user();
Puoi anche usare: mysql> seleziona utente, host da mysql.user;
+---------------+-------------------------------+
| user | host |
+---------------+-------------------------------+
| fkernel | % |
| nagios | % |
| readonly | % |
| replicant | % |
| reporting | % |
| reporting_ro | % |
| nagios | xx.xx.xx.xx |
| haproxy_root | xx.xx.xx.xx
| root | 127.0.0.1 |
| nagios | localhost |
| root | localhost |
+---------------+-------------------------------+
Puoi trovare il nome utente corrente con la funzione CURRENT_USER () in MySQL.
per Es:
SELECT CURRENT_USER();
Ma CURRENT_USER()non restituirà sempre l'utente connesso. Quindi, nel caso in cui desideri avere l'utente connesso, usa SESSION_USER()invece.