2015-07-21 138 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身份运行脚本。 –