MySQL实现免密登录的三种配置方式 |
一、示例环境版本说明操作系统版本centos7.6 [wuhs@test1 mysql]$ cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) mysql数据库版本5.7.32 [wuhs@test1 mysql]$ mysql -V mysql Ver 14.14 Distrib 5.7.32, for el7 (x86_64) using EditLine wrapper 二、MySQL免密登录方式配置示例1、通过设置client标签,直接编辑/etc/my.cnf文件编辑/etc/my.cnf文件,添加如下代码 [wuhs@test1 mysql]$ cat /etc/my.cnf [client] user = root password = 123456 port = 3306 配置完成后可以使用mysql命令直接登录数据库 [wuhs@test1 mysql]$ mysql Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 6 Server version: 5.7.32-log MySQL Community Server (GPL) <br> Copyright ? 2000, 2020, Oracle and/or its affiliates. All rights reserved. <br> Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. <br> Type ‘help;' or ‘h' for help. Type ‘c' to clear the current input statement. <br> mysql> 此方式最大问题是明文存储密码,见配置文件各用户可见,非常的不安全 。 2、我们通过my.cnf来配置,设置到'/.my.cnf来配置免密码编辑'/.my.cnf文件,添加如下代码 [wuhs@test1 mysql]$ cat '/.my.cnf [client] user = root password = 123456 port = 3306 修改my.cnf属性 #chmod 600 '/.my.cnf [wuhs@test1 mysql]$ ll '/.my.cnf -rw-------. 1 wuhs wuhs 51 Dec 29 22:56 /home/wuhs/.my.cnf 配置完成后可以使用mysql命令直接登录数据库 [wuhs@test1 mysql]$ mysql Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 6 Server version: 5.7.32-log MySQL Community Server (GPL) <br> Copyright ? 2000, 2020, Oracle and/or its affiliates. All rights reserved. <br> Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. <br> Type ‘help;' or ‘h' for help. Type ‘c' to clear the current input statement. <br> mysql> 此种方式也是明文存储,配置方式同第一种,文件为隐藏文件,设置文件为改用户可读,与第一种方式相比安全性有所提高 。经验证测试,'/.my.cnf配置文件优先于/etc/my.cnf 。 3、通过mysql_config_editor命令使用mysql_config_editor命令一个test标签 [wuhs@test1 mysql]$ mysql_config_editor set -G test -S /tmp/mysql.sock -uroot -p Enter password: [此处输入root账户密码] 执行如上步骤后生成了隐藏文件.mylogin.cnf,文件类型为data,是一个二进制文件 [wuhs@test1 mysql]$ file '/.mylogin.cnf /home/wuhs/.mylogin.cnf: data 查看该文件,密码为加密存储 [wuhs@test1 mysql]$ mysql_config_editor print --all [test] user = root password = ***** socket = /tmp/mysql.sock 使用mysql --login-path="标签"登录 [wuhs@test1 mysql]$ mysql --login-path=test Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 18 Server version: 5.7.32-log MySQL Community Server (GPL) <br> Copyright ? 2000, 2020, Oracle and/or its affiliates. All rights reserved. <br> Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. <br> Type ‘help;' or ‘h' for help. Type ‘c' to clear the current input statement. <br> mysql> 第三种方式登录文件为隐藏的二进制文件,且密码通过密文存储,安全性最高 。 以上就是MySQL免密登录的三种方式的详细内容,更多关于MySQL免密登录的资料请关注其它相关文章! |