2015-07-21 10 views
1

Я пытаюсь запустить mysql-сервер из скрипта python 3.4 на Max OS X 10.10.4 еще не знаю, как передать пароль суперпользователя?запуск MySQL из скрипта python

import os 
os.system("sudo /usr/local/mysql/support-files/mysql.server start") 


Sudo: no tty present and no askpass program specified 

ответ

1

Вы в данный момент находитесь в нужном направлении. В моей системе сервер mysql запускается с /etc/init.d/mysql.

Просто используйте следующий фрагмент кода, чтобы запустить сервер mysql из сценария python.

import os 

os.system('sudo /etc/init.d/mysql start') 

Лучший способ для запуска root команды будет выполнять сам файл как root

Просто введите sudo python script.py в вашей оболочке, и вы можете заменить os.system('sudo /etc/init.d/mysql start') с os.system('/etc/init.d/mysql start')

+0

Thanx Arpit, то проблема в том, что для использования любой команды sudo u необходимо передать пароль суперпользователя! – Zingo

+1

В этом есть ошибка. Подождите, я исправлю это ... это сработало, потому что я уже однажды указал пароль sudo в том же терминале. Следовательно, он еще не запрашивал пароль sudo. Позвольте мне вернуться к вам с исправлением. –

+0

Я бы предложил запустить скрипт как root. –