本文问题
- 用什么方法可以替代使用用户名密码登录数据库?
-
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]
选项组中的选项
网友评论