mysqlsh [options] -- shell_object object_method [arguments]
在命令行模式下,要实现类似于”mysql -e “show processlist;””的效果,即执行完命令后立即退出登录,不需要交互,我们可以在脚本中使用mysql shell。同样地,在维护InnoDB Cluster时,我们可以在脚本中调用mysql shell来查看MGR集群的状态或执行操作。以下是语法示例:
mysqlsh -h172.16.22.1 -P3306 -uroot -p -- cluster status
mysqlsh -h172.16.22.1 -P3306 -uroot -p
var cluster=dba.getCluster()
cluster.status()
JS > option -l
...
credentialStore.excludeFilters []
credentialStore.helper default
credentialStore.savePasswords prompt
...
示例:可以直接输出集群状态信息,等同于:
shell.options.setPersist("credentialStore.helper", "")
通过下面介绍的密码保存方法,可以避免在脚本中暴露密码,也可以避免交互式输入密码,从而方便地查询状态或进行维护操作,例如:
shell.options.setPersist("credentialStore.savePasswords","always")
如果credentialStore.helper显示为空,则无法使用密码存储和检索功能。通常是因为没有安装mysqlconfigeditor。因为mysql shell的密码保存实际上也是使用mysqlconfigeditor实现的。下面将详细解释具体用法。
credentialStore.savePasswords参数用于控制每次连接时保存密码的行为: