MariaDB:使用 unix sockets 插件(无密码)创建并授予新用户

Mou*_*inX 1 authentication mysql mariadb unix-sockets

我刚刚在 Kubuntu 15.10 上安装了 MariaDB。我可以通过从操作系统对用户进行身份验证的插件以 root 用户身份登录。(这对我来说是新的,所以我正在学习它,而不是像大多数教程推荐的那样删除插件身份验证。)

现在我想创建一个非 root 用户并授予该用户所有权限,并允许用户无需密码(仅使用插件)即可登录 mysql(在 localhost 上)。我该怎么做?我也需要给用户一个密码吗?

Mou*_*inX 5

找到了答案。我需要的部分是“IDENTIFIED VIA unix_socket”,如下所示:

MariaDB [(none)]> CREATE USER serg IDENTIFIED VIA unix_socket;
MariaDB [(none)]> GRANT ALL PRIVILEGES on mydatabase.* to 'serg'@'localhost';

MariaDB [(none)]> select user, host, password, plugin from mysql.user;
+--------------+-----------+----------+-------------+
| user         | host      | password | plugin      |
+--------------+-----------+----------+-------------+
| root         | localhost |          | unix_socket |
| root         | mitra     |          | unix_socket |
| root         | 127.0.0.1 |          | unix_socket |
| root         | ::1       |          | unix_socket |
| serg         | localhost |          | unix_socket |
+--------------+-----------+----------+-------------+
5 rows in set (0.00 sec)

MariaDB [(none)]> FLUSH PRIVILEGES;
Run Code Online (Sandbox Code Playgroud)

然后在外壳中:

sudo service mysql restart
Run Code Online (Sandbox Code Playgroud)

要使用用户“serg”登录,请勿使用 sudo。只需使用mysql -u serg.