Bir mysql sorgusunun, sorguyu veren kullanıcının kullanıcı adını döndürmesinin bir yolu olup olmadığını bilmek istiyorum.
Mümkün mü?
Bir mysql sorgusunun, sorguyu veren kullanıcının kullanıcı adını döndürmesinin bir yolu olup olmadığını bilmek istiyorum.
Mümkün mü?
Yanıtlar:
CURRENT_USER()İşlevi deneyin . Bu, MySQL'in istemci bağlantınızın kimliğini doğrulamak için kullandığı kullanıcı adını döndürür. Ayrıcalıklarınızı belirleyen bu kullanıcı adıdır.
Bu, müşteri tarafından MySQL'e gönderilen kullanıcı adından farklı olabilir (örneğin, MySQL, bir kullanıcı adı göndermiş olsanız bile, müşterinizin kimliğini doğrulamak için anonim bir hesap kullanabilir). İstemcinin bağlanırken MySQL'e gönderdiği kullanıcı adını istiyorsanız USER()bunun yerine işlevi kullanın.
Değer, sunucuya bağlanırken belirttiğiniz kullanıcı adını ve bağlandığınız istemci ana bilgisayarı gösterir. Değer, CURRENT_USER () değerinden farklı olabilir.
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()"mysql'deki * mevcut kullanıcı adınızı bilmenin * bir yolu var mı ?" Sorusu için doğru değildim . Cevap, "Mevcut MySQL kullanıcısını döndüren " ( dev.mysql.com/doc/refman/5.7/en/… ) "USER ()" idi . Daha eksiksiz olması için cevabınızı güncellemelisiniz, çok kısa.
Ya çalıştırmayı dene
SELECT USER();
veya
SELECT CURRENT_USER();
Bazen farklı olabilir, USER () kimliğini doğrulamaya çalıştığınız oturum açma bilgileriyle geri döner ve CURRENT_USER () gerçekte kimlik doğrulamanıza nasıl izin verildiğini döndürür.
Kullanabilirsiniz:
SELECT USER();
veya
SELECT CURRENT_USER();
Daha fazlasını burada bulabilirsiniz http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_current-user
veritabanını kullanan mevcut kullanıcıyı yazdırmak için
select user();
veya
select current_user();
Ayrıca şunları da kullanabilirsiniz: mysql> kullanıcı seçin, mysql.user'den ana bilgisayar;
+---------------+-------------------------------+
| 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 |
+---------------+-------------------------------+
Mevcut kullanıcı adını MySQL'de CURRENT_USER () işlevi ile bulabilirsiniz.
Örn:
SELECT CURRENT_USER();
Ancak CURRENT_USER()oturum açmış kullanıcıyı her zaman geri döndürmez. Bu nedenle, kullanıcının oturum açmasını istiyorsanız, SESSION_USER()yerine kullanın.