Установите MySQL в raspberrypi и поместите данные в таблицу с помощью python3

#python #mysql

#python #mysql

Вопрос:

Я сталкиваюсь с проблемой, когда я получаю данные GPS в raspberrypi. Из-за проблем с несовместимостью я должен использовать только python3. В принципе, я должен напечатать строку в столбец таблицы на сервере mysql raspberrypi. Я сижу над этой проблемой, но я не в состоянии это сделать. Я знаю, я прошу многого, но это настоящая проблема. Я попробовал эту ссылку:https://pymysql.readthedocs.io/en/latest/user/examples.html

Шаги установки, которые я выполнил, были:

sudo apt обновить sudo apt-получить установить python3-mysqldb sudo apt-получить установить mysql-сервер python3-mysqldb sudo mysql_secure_installation sudo mysqladmin -u root -p создать злоумышленника // злоумышленник — это имя базы данных sudo mysql intruder -u root -p

mysql> СОЗДАТЬ ТАБЛИЦУ gps(GPSDATA VARCHAR(200)НЕ NULL);

Я помещаю код ниже того, что я пробовал. Ошибка, которую я получаю, заключается в

pymysql.ошибка.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:

Используйте пользователя, не являющегося пользователем 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', ...
  

Комментарии:

1. Благодарю вас, сэр. Но я все еще получаю ту же ошибку.