MySQL中USER()和CURRENT_USER()的区别

同一个授权账户,可能会从不同主机/不同方式连接到MySQL Server端,这时 CURRENT_USER() 返回的是对应的授权账户,而 USER() 返回的就是包含该账户当前连接的客户端地址,从不同主机连接过来后得到的结果也不同。

1、新建用户

mysql> select version(); +-----------+ | version() | +-----------+ | 8.0.33 | +-----------+ 1 row in set (0.00 sec) mysql> create user test@'%' identified by '123456'; Query OK, 0 rows affected (0.00 sec) mysql> grant all on *.* to test@'%'; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)