在raspberrypi中安装MySql并使用python3

时间:2019-03-29 02:00:11

标签: python mysql

我正在解决一个问题,我在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()

1 个答案:

答案 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', ...