unix_socket认证插件容许用户经过本地Unix套接字文件链接到MariaDB的时候使用操做系统的凭证。mysql
通俗的讲就是用Linux操做系统的帐号,去登陆MariaDB/MySQL数据库。
sql
这个功能是在MariaDB 10.4.6版本里添加的,目前也支持在MySQL 8.0.18版本中。shell
用法:数据库
1、安装插件bash
mysql> INSTALL PLUGIN auth_socket SONAME 'auth_socket.so'; Query OK, 0 rows affected (0.01 sec)
二、建立数据库帐号hechunyangsocket
mysql> CREATE USER 'hechunyang'@'localhost' IDENTIFIED WITH auth_socket; Query OK, 0 rows affected (0.00 sec)
3、建立操做系统帐号hechunyangide
# useradd hechunyangspa
# passwd hechunyang操作系统
以hechunyang用户登陆操做系统插件
4、登陆MySQL 8.0.18
[root@localhost soft]# su - hechunyang Last login: Fri Nov 8 16:40:53 CST 2019 on pts/0 [hechunyang@localhost ~]$ [hechunyang@localhost ~]$ [hechunyang@localhost ~]$ /usr/local/mysql/bin/mysql -S /tmp/mysql_hcy.sock -uhechunyang -e "select version();" +-----------+ | version() | +-----------+ | 8.0.18 | +-----------+ [hechunyang@localhost ~]$
在此示例中,用户hechunyang已登陆操做系统并具备彻底shell访问权限。他已经使用操做系统进行了身份验证,而且他的MySQL账户已配置为使用unix_socket身份验证插件,所以他无需再次对数据库进行身份验证。MySQL接受他的操做系统凭证并容许他链接。