mysqlsh交互环境的重定向输出

mysqlsh交互环境的重定向输出

我正在尝试重定向语句的输出里面交互式mysqlsh环境。

我在 OSX 的终端内运行 mysqlsh,但在帮助页面中找不到实现重新路由的适当参数。通过默认的“pipe grep > and_run.txt”重新路由输出不起作用,因为 mysqlsh 环境有自己的一组可接受的命令。

我的命令是:

:$ mysqlsh root@localhost:3306/my_schema
# now the mysqlsh interactive console is open with an active connection to my_schema
mysqlsh> shell.options.set('resultFormat','json')
mysqlsh> session.runSql("SELECT * FROM my_schema.my_table")
# prints the schema as json array - i would like to rerout this output

注意:我按照一位热心用户的建议,将这个问题从 SO 中移了过来(感谢@user1934428)

答案1

实现我的目标的一种方法是不使用“交互模式”,mysqlsh而是为每个语句打开一个新连接。

这不是我喜欢的方法,因为我猜测这会为每个命令初始化一个新的会话,但它确实有效。

mysqlsh --uri root@localhost:3306/my_schema --sql --execute "select * from my_table;" --result-format=json/array > my_objects.json

我真的很感兴趣/感谢一个更清洁的解决方案。

相关内容