Mou*_*inX 1 authentication mysql mariadb unix-sockets
我刚刚在 Kubuntu 15.10 上安装了 MariaDB。我可以通过从操作系统对用户进行身份验证的插件以 root 用户身份登录。(这对我来说是新的,所以我正在学习它,而不是像大多数教程推荐的那样删除插件身份验证。)
现在我想创建一个非 root 用户并授予该用户所有权限,并允许用户无需密码(仅使用插件)即可登录 mysql(在 localhost 上)。我该怎么做?我也需要给用户一个密码吗?
找到了答案。我需要的部分是“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
.