我正在解决一个问题,我在raspberrypi中获取GPS数据。由于不兼容问题,我只能使用python3。基本上,我必须将一个字符串打印到raspberrypi的mysql服务器中的表的列中。我正坐在这个问题上,但我做不到。我知道,我要问很多,但这是真正的问题。 我尝试了以下链接: https://pymysql.readthedocs.io/en/latest/user/examples.html
我遵循的安装步骤是:
sudo apt更新 须藤apt-get install python3-mysqldb 须藤apt-get install mysql-server python3-mysqldb 须藤mysql_secure_installation sudo mysqladmin -u root -p create intruder //入侵者是数据库名称 sudo mysql入侵者-u root -p
mysql>创建表gps(GPSData VARCHAR(200)NOT NULL);
我将代码放在我尝试过的下面。 我得到的错误是
pymysql.err.InternalError:(1698,“用户'root'@'localhost'的访问被拒绝”) 我已经尝试了很多,但似乎无济于事。
请先谢谢。
import pymysql.cursors
# Connect to the database
connection = pymysql.connect(host='localhost',
user='root',
password='passwd',
db='intruder',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor)
with connection.cursor() as cursor:
# Create a new record
sql = "INSERT INTO `gps` ( `GPSData`) VALUES (%s)"
cursor.execute(sql, ('HelloWorld'))
connection.commit()
finally:
connection.close()
答案 0 :(得分:0)
使用非root用户并保存此用户,以防密码丢失:
sudo mysql
create user gps@localhost IDENTIFIED BY 'securepassword';
GRANT ALL ON intruder.* TO gps@localhost;
然后使用:
connection = pymysql.connect(host='localhost',
user='gps',
password='securepassword',
db='intruder', ...