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接受他的操做系統憑證並容許他鏈接。