命令行模式
mysql shell 如何实现类似 mysql -e “show processlist;” 的效果?即执行完就退出登录,不需要交互,我们经常在脚本中这样使用。那么同样的,在维护 InnoDB Cluster 时,怎么在脚本中调用 mysql shell 查看 MGR 集群的状态或者对集群做操作呢?语法如下:
mysqlsh [options] -- shell_object object_method [arguments]
示例:
mysqlsh -h172.16.22.1 -P3306 -uroot -p -- cluster status
可以直接输出 cluster 状态信息,等同于:
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
...
credentialStore.helper
默认情况下,此选项设置为特殊值 default。可以设置为 来禁用密码存储和检索功能mysql更改密码,注意要用 setPersist 才能在退出 mysqlsh 后的下一次生效:
shell.options.setPersist("credentialStore.helper", "")
若是显示为 “”,则无法使用密码存储和检索,通常是因为没有安装 mysql_config_editor,因为 mysql shell 的密码保存实际也是用 mysql_config_editor 实现的mysql更改密码,下面会解释道具体用法。
credentialStore.savePasswords
此参数用来控制每次连接时保存密码的行为:
这样修改:
shell.options.setPersist("credentialStore.savePasswords","always")
查看当前保存了密码的连接串
———END———
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击网站首页每天更新
站 长 微 信: aiwo51889
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。