本文问题
- 用什么方法可以替代使用用户名密码登录数据库?
-
login-path的构成是什么样的? - 如何配置
login-path? - 如何查看
login-path? -
login-path的作用顺序?
mysql_config_editor是一个用来存储数据库连接信息的工具。
存放位置
mysql_config_editor将密码信息存放在当前用户的home目录下的.mylog.cnf文件中.该文件是加密保存的。
内容说明
在.mylog.cnf中,每个记录保存为一个选项组,每个选项组就是一个login-path。每个选项组中可以包括host、port、user、password、socket信息
如:
[client] #选项组名
host=localhost
user=root
password=xxxxxx
使用方法
mysql --login-path=client
注意:
- client是默认的login-path,即使不指定也会读取其中的内容
- 后读取到的内容会替换到先读取的内容。比如:
[client]
host = localhost
user = root
password = *****
[remote]
host = 192.168.1.1
port = 5722
则:
mysql --login-path=remote
等同于
mysql --host=192.168.1.1 --port=5722 --user=root --password=xxxxxx
虽然用户名和密码在remote里面没有指定,但是因为在client中指定了,所以MySQL也会读取到这两个信息。
配置方法
通过mysql_config_editor可以配置login-path,具体方法如下:
增加login-path
mysql_config_editor set --login-path=name --user=root --host=localhost --port=3306 --password
注意这里password不能直接=value,而是需要命令执行后在交互界面进行输入
删除login-path
删除执行login-path中的一个选项
mysql_config_editor remove --login-path=name --user
删除指定login-path
mysql_config_editor remove --login-path=name
删除所有login-path
mysql_config_editor reset
查看login-path
查看所有login-path
mysql_config_editor print --all
在输出中,密码会以"******"代替。
查看指定login-path
mysql_config_editor print --login-path=name
问题答案
- 用什么方法可以替代使用用户名密码登录数据库?
使用--login-path替代用户名和密码,--login-path可以使用mysql_config_editor进行配置和查看,记录保存在当前用户home目录的.mylog.cnf文件中,该文件是加密的,不能明文查看和修改。--login-path只对设置它的用户有效。 -
login-path的构成是什么样的?
[client] #选项组名
host = localhost
port = 3306
user = root
password = *****
socket = /tmp/mysql.sock
- 如何配置
login-path?
# 添加login-path
mysql_config_editor set --login-path=name --user=root --host=localhost --port=3306 --password
# 删除login-path
# 删除所有
mysql_config_editor reset
# 删除指定选项组
mysql_config_editor remove --login-path=name
# 删除指定选项组中的某个选项
mysql_config_editor remove --login-path=name --user
- 如何查看
login-path?
# 查看所有
mysql_config_editor print --all
# 查看指定选项组
mysql_config_editor print --login-path=name
-
login-path的作用顺序?
如果没有指定--login-path,默认读取[client]选项组。如果指定了--login-path=name,会读取[client]和[name]选项组,[name]组中指定的选项覆盖[client]选项组中的选项










网友评论