mysqlsh 대화형 환경의 출력 리디렉션

mysqlsh 대화형 환경의 출력 리디렉션

작성된 문의 출력을 리디렉션하려고 합니다.내부에대화 mysqlsh형 환경.

OSX의 터미널 내에서 mysqlsh를 실행 중인데 도움말 페이지에서 재라우팅을 수행하기 위한 적절한 매개변수를 찾지 못했습니다. mysqlsh 환경에는 자체적으로 허용되는 명령 세트가 있으므로 기본 "pipe grep > and_run.txt"를 통해 출력을 다시 라우팅하는 것은 작동하지 않습니다.

내 명령은 다음과 같습니다

:$ 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에서 옮겼습니다(thx @user1934428).

답변1

내 목표를 달성하는 한 가지 방법은 "대화형 모드"를 사용하지 않고 mysqlsh각 명령문에 대해 새로운 연결을 여는 것입니다.

이것이 각 명령에 대해 새 세션을 초기화한다고 생각하기 때문에 내가 선호하는 방법은 아니지만 작동합니다.

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

더 깨끗한 솔루션에 대해 정말 관심이 있거나 감사하겠습니다.

관련 정보