在 MySQL 和 MariaDB 中,可以使用 socket 身份验证,而不是传统的用户名和密码组合。这种方法既安全又方便,因为它使用的是操作系统的用户凭证。
什么是 Socket 身份验证?
Socket 身份验证允许使用 Unix 或 Linux 用户凭证连接到数据库,这对于安全环境非常有用。这简化了登录过程,消除了频繁用户输入密码的要求。
Step 1: Create a Unix/Linux User
如果您还没有一个 UNIX/Linux 用户,则创建一个新的 UNIX/Linux 用户。
sudo adduser myuser
Step 2: Log in to MySQL/MariaDB
接下来,使用 root 用户登录到您的 MySQL/Mariadb 服务器
sudo mysql -u root -p
Step 3: Create User with Socket Authentication
创建一个使用 auth_socket 身份验证的新的 MySQL/Mariadb 用户
CREATE USER 'myuser'@'localhost' IDENTIFIED WITH auth_socket;
Step 4: Grant Privileges
向新用户授予必要的权限,例如:授予特定数据库的所有权限。
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost';
Step 5: Apply Changes
刷新 privileges 使应用更改生效
FLUSH PRIVILEGES;
Step 6: Verify the Connection
登录 MySQL / Mariadb,尝试使用 Socket 身份验证登录
mysql -u myuser
如果一切设置正确,您应该能够连接数据库,而不需要提示输入密码。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。