I can only talk about my food. I found it on the Internet and didn't find anyone explaining the four differences between them, so I had to do it myself. The following is the help information you can view on the mysql client.
User: Returns the current MySQL username and hostname as a string in the utf8 character set.
System_user: SYSTEM_USER () is a synonym for USER ().
Session_user: SESSION_USER () is a synonym for USER ().
Current_user:
Returns the username and hostname combination for the MySQL account
That the server used to authenticate the current client. This account
Determines your access privileges. As of MySQL 5.0.10, within a stored
Routine that is defined with the SQL SECURITY DEFINER characteristic,
CURRENT_USER () returns the creator of the routine. The return value is
A string in the utf8 character set.
The value of CURRENT_USER () can differ from the value of USER ().
In fact, if I want to try again, I will not translate it if I can't see anyone's English skills. In general, user (), system_user (), and session_user () are the same thing (synonym ). Then current_user () is similar to the first three, but occasionally it will be a little different.