auth_socket认证方式的工作原理是:客户端通过开启SO_PEERCRED选项的socket连接mysql服务器,服务器从socket中检测是否运行客户端的系统用户名是要登录的mysql用户名。用户名相同则登录,不同则拒绝。如果用户名使用了没有启用SO_PEERCRED选项的套接字连接,也会被拒绝。SO_PEERCRED是一个只能为Unix域套接字启用的选项,而Unix域套接字仅用于本地通信。所以配置了auth_socket的mysql用户是无法通过mysql客户端远程登录的,因为远程登录会启用TCP/IPsocket。当然,既然叫Unix域,那么只有Linux等类Unix操作系统才能使用这个socket。启用此选项的套接字会将连接器的凭据信息(包括用户名)发送到目标。mysql服务器获取凭据,比较用户名是否相等,决定是否允许登录。参考[1]Linux手册页unix(7)
