Mysql синтаксис команды в (gevent) check_call python подпроцесс - PullRequest
0 голосов
/ 07 января 2020

Я пытаюсь получить некоторые данные из экземпляра mysql через check_call gevent, например, так:

retcode = check_call(\
                ["mysql", "-u", "user_name", "-h", "22.22.22.22", "-P", "3306", "-ppassword", "-e",\
                "SELECT ID, post_title, post_date, post_content FROM something.wp_posts WHERE post_date > DATE_SUB(NOW(), INTERVAL 24 HOUR)", ">", "posts24.csv"\
                ]\
                    )

... и возвращает:

raise CalledProcessError(retcode, cmd) # pylint:disable=undefined-variable

Когда я просто делаю:

retcode = check_call(\
                ["mysql", "-u", "user_name", "-h", "22.22.22.22", "-P", "3306", "-ppassword";", ">", "posts24.csv"\
                ]\
                    )

Я успешно захожу в систему, имея в виду, что строка:

"SELECT ID, post_title, post_date, post_content FROM something.wp_posts WHERE post_date > DATE_SUB(NOW(), INTERVAL 24 HOUR)", ">", "posts24.csv"\

кажется проблемой. Я не очень разбираюсь в выполнении команд DB в python таким образом, и мне было интересно, если я упускаю что-то очевидное здесь.

Я также пробовал без предложения where, например:

retcode = check_call(\
                ["mysql", "-u", "user_name", "-h", "22.22.22.22", "-P", "3306", "-ppassword", "-e",\
                "SELECT ID, post_title, post_date, post_content FROM something.wp_posts", ">", "posts24.csv"\
                ]\
                    )

но это тоже не получается ..

Любые указатели будут высоко оценены.

...