そこで、CPUとRAMの使用状況を監視し、将来の処理のためにMySQLデータベースに入れる簡単なアプリをPythonで書いています。ここに私のコードがあります:
import MySQLdb
import psutil
connection = MySQLdb.connect(host="localhost", port=8888, user="root", passwd="root", db="monitoring", unix_socket="/Applications/MAMP/tmp/mysql/mysql.sock")
c = connection.cursor()
while True:
usage = psutil.cpu_percent(interval=1)
c.execute("INSERT INTO cpu (usage) VALUES (%s)", (usage))
c.execute("SELECT * FROM cpu")
print c.fetchall()
これが私が監視に使用しているライブラリです
MySQL データベースのダンプは次のとおりです。
--
-- Table structure for table `cpu`
--
CREATE TABLE `cpu` (
`id` int(12) NOT NULL AUTO_INCREMENT,
`usage` float NOT NULL,
`time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=2 ;
ただし、 INSERT を作成するときにこのエラーを修正できません。
_mysql_exceptions.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'usage) VALUES (12.9)' at line 1")
これを修正するためのヒントはありますか? 申し訳ありませんが、私はPythonが初めてです:)
前もって感謝します。