2015-07-21 136 views
1

我試圖從python 3.4腳本啓動mysql服務器在Max OS X 10.10.4 但我不知道如何傳遞超級用戶密碼?從python腳本啓動MySQL

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啓動。

只需使用以下代碼片段即可從python腳本運行mysql服務器。

import os 

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

運行root命令將執行該文件本身爲root

只需輸入你的shell sudo python script.py,您可以用 os.system('/etc/init.d/mysql start')

+0

感謝名單Arpit更換os.system('sudo /etc/init.d/mysql start') 的最好方式,問題,要使用任何sudo命令你必須通過超級用戶密碼! – Zingo

+1

這裏還有一些錯誤。等待我將修復它...這工作,因爲我已經在同一個終端中指定了sudo密碼。因此它沒有再次要求sudo密碼。讓我回復你的問題。 –

+0

我會建議以root身份運行腳本。 –