MySQL 本地免密登录

打印 上一主题 下一主题

主题 556|帖子 556|积分 1668

MySQL 本地免密登录可以通过以下两种常见方式实现:
1. 利用 auth_socket 插件(推荐方式,针对 Linux 环境)

auth_socket 插件答应 MySQL 利用操作系统用户进行身份验证,而不须要密码。默认情况下,这种方式主要用于 Linux 系统,可以实现本地用户直接通过系统身份进行免密登录。
步调:


  • 查看当前用户的身份验证插件
    1. SELECT user, host, plugin FROM mysql
    2. .user WHERE user = 'root';
    复制代码
    看看当前 root 用户或其他用户是否已经利用了 auth_socket 插件。
  • 修改用户身份验证插件为 auth_socket
    假如还未启用 auth_socket,可以运行以下下令将其应用到 root 用户(或你想免密登录的用户):
    1. ALTER USER 'root'@'localhost' IDENTIFIED WITH auth_socket;
    复制代码
    这会让 root 用户通过操作系统的 root 用户身份登录,而无需密码。
  • 重启 MySQL 服务
    修改插件后,须要重启 MySQL 服务:
    1. sudo systemctl restart mysql
    复制代码
  • 免密登录
    在终端中利用操作系统的 root 用户身份,可以直接运行以下下令免密登录:
    1. sudo mysql
    复制代码
    或者利用其他具有相应权限的用户直接运行:
    1. mysql
    2. -u root
    复制代码
2. 利用 .my.cnf 配置文件生存密码

另一种实现 MySQL 免密登录的方式是将密码存储在 MySQL 客户端的配置文件 .my.cnf 中。这样,MySQL 客户端在执行时会自动利用该文件中的凭据进行身份验证,而不须要手动输入密码。
步调:


  • 创建或编辑用户主目录下的 .my.cnf 文件
    1. nano ~/.my.cnf
    复制代码
  • 在文件中添加以下内容
    1. [client]
    2. user=root
    3. password=你的密码
    复制代码
  • 设置文件权限
    为了安全起见,限定该文件的读取权限,确保只有文件拥有者能访问:
    1. chmod 600 ~/.my.cnf
    复制代码
  • 免密登录
    现在,你可以直接运行 mysql
    下令,而不须要输入密码:
    1. mysql
    复制代码
注意事项:



  • auth_socket 插件 适用于 Linux 系统,通过系统用户身份实现免密,但不适用于远程登录。
  • .my.cnf 文件方式 更加通用,适用于本地或远程登录,但要注意 .my.cnf 文件的安全性,确保权限设置正确以防止密码泄露。
这两种方式都可以有效实现 MySQL 本地的免密登录,根据你的利用环境选择最合适的方案。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

慢吞云雾缓吐愁

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表