[英]Execute mysql commands in linux terminal using Python
我想自動化數據庫的設置,我想通過使用 python 腳本在 linux 終端中執行一些命令來實現。
但是在連接到 mysql 數據庫后,我看不到任何在終端中執行命令的方式。
您可以在下面看到腳本的一部分:
from time import sleep
from os import system
print("Setting up the database...\n")
system("sudo mysql -u root")
sleep(2)
這將啟動 mysql,之后我嘗試從 python 執行的所有命令都沒有執行。
例如,我想運行如下命令:
system("CREATE DATABASE mydatabase;")
system("CREATE USER 'user'@'localhost' IDENTIFIED BY '[PASSWORD]';")
system("GRANT ALL PRIVILEGES ON mydatabase.* TO 'user'@'localhost';")
這可能嗎?
編輯 1:@AndHeFallen 建議的潛在解決方案:
在 python 中,我創建了一個名為 db.sql 的 sql 文件,然后在終端中運行它:
with open("db.sql","w") as db:
db.write("CREATE DATABASE mydatabase;\n")
db.write("CREATE USER 'user'@'localhost' IDENTIFIED BY '[PASSWORD]';\n")
db.write("GRANT ALL PRIVILEGES ON mydatabase.* TO 'user'@'localhost';\n")
system("sudo mysql -u root < db.sql")
我認為不可能做到這一點。 如果您想使用 Python 腳本與您的 MySQL 數據庫進行交互,您需要使用 api (如MySQLdb )直接連接到您的數據庫。 (我可能是錯的,但你想要做的方式可能會導致安全問題)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.