命令行模式

mysql shell 如何实现类似 mysql -e "show ;" 的效果?即执行完就退出登录,不需要交互,我们经常在脚本中这样使用。那么同样的mysql改密码,在维护 时mysql改密码,怎么在脚本中调用 mysql shell 查看 MGR 集群的状态或者对集群做操作呢?语法如下:

mysqlsh [options] -- shell_object object_method [arguments]

示例:

mysqlsh -h172.16.22.1 -P3306 -uroot -p -- cluster status

可以直接输出 状态信息,等同于:

mysqlsh -h172.16.22.1 -P3306 -uroot -p
var cluster=dba.getCluster()
cluster.status()

配合下面介绍的密码保存方法,避免在脚本中暴露密码,也可以避免交互式输入密码,可以很方便的查询状态或者做一些维护操作,比如:

mysql改密码_密码改换_密码改指纹怎么改

配置保存密码

默认设置:

JS > option -l
 ...
 credentialStore.excludeFilters  []
 credentialStore.helper          default
 credentialStore.savePasswords   prompt
 ...

.

默认情况下,此选项设置为特殊值 。可以设置为 来禁用密码存储和检索功能,注意要用 才能在退出 后的下一次生效:

shell.options.setPersist("credentialStore.helper", "")

若是显示为 “”,则无法使用密码存储和检索,通常是因为没有安装 ,因为 mysql shell 的密码保存实际也是用 实现的,下面会解释道具体用法。

.

此参数用来控制每次连接时保存密码的行为:

这样修改:

shell.options.setPersist("credentialStore.savePasswords","always")

查看当前保存了密码的连接串

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注