0

I am getting below error

"Failed inserting BLOB data into MySQL table 2006 (HY000): MySQL server has gone away"

def insertBLOB(request):
    id =(1)
    name=("Eric")
    photo = ("/home/gauri/Pictures/w3schools.jpg")
    biodata =  ("/home/gauri/Downloads/mnum.npy")
    try:
        connection = mysql.connector.connect(host="127.0.0.1", user="root", passwd="", 
                    port=3307, db="data2")
        cursor = connection.cursor()
        sql_insert_blob_query = "INSERT INTO python_employee(id, name, photo, biodata) 
                                     VALUES (%s,%s,%s,%s)"
        with open(photo, 'rb') as file:
            binaryData = file.read()
        with open(biodata, 'rb') as file:
            binaryData1 = file.read()

        insert_blob_tuple = (id, name, binaryData, binaryData1,)
        result = cursor.execute(sql_insert_blob_query,insert_blob_tuple)


        connection.commit()
        print("Image and file inserted successfully as a BLOB into python_employee 
              table",result)

        except mysql.connector.Error as error:
            print("Failed inserting BLOB data into MySQL table {}".format(error))

        return HttpResponse("data")
zealous
  • 7,336
  • 4
  • 16
  • 36
  • Does this answer your question? [ERROR 2006 (HY000): MySQL server has gone away](https://stackoverflow.com/questions/10474922/error-2006-hy000-mysql-server-has-gone-away) – zealous Apr 21 '20 at 06:38
  • May I ask why your are directly connecting to your database instead of using `django.db.connections` ? – bruno desthuilliers Apr 21 '20 at 07:22

1 Answers1

0

Add the following line into my.cnf file should solve your problem.

max_allowed_packet=64M

Here is the explanation.

zealous
  • 7,336
  • 4
  • 16
  • 36