在'localhost:3306'上与MySQL服务器的连接丢失,系统错误:连接不可用

时间:2020-09-30 07:41:04

标签: python mysql

servlet2.py

import mysql.connector
from mysql.connector import Error
from mysql.connector import errorcode

try:     
    connection = mysql.connector.connect(host='localhost',
                                         database='*project',
                                         user='*****',
                                         password='*****',
                                         )
    print("Connection Established")
    
except mysql.connector.Error as e:
    if e.errno == errorcode.ER_ACCESS_DENIED_ERROR:
        print('Somethign is wrong with username or password')
    elif e.errno == errorcode.ER_BAD_DB_ERROR:
        print('Database does not exist')
    else:
        print(e)
    
c = connection.cursor()

def insertSQL(user):
    mySql_insert_query = "INSERT INTO python_project.test (Name) VALUES (?)", (user)
    print("user:", user)
    c.execute(mySql_insert_query)
    print(c.rowcount, "Record inserted successfully into test table")
   

def username():
    user = input("Please Enter Your Name: " )
    insertSQL(user)

test_script.py

import servlet2
servlet2.username()

但是,一旦输入名称,我就可以建立与数据库的连接。它将无法连接并提示此错误。

OperationalError: Lost connection to MySQL server at 'localhost:3306', system error: Connection not available.

1 个答案:

答案 0 :(得分:0)

import mysql.connector
from mysql.connector import Error
from mysql.connector import errorcode

try:     
    connection = mysql.connector.connect(host='127.0.0.1',
                                         database='python_project',
                                         user='root',
                                         password='catdog123',
                                         )
    print("Connection Established")
    #cursor = connection.cursor()
    #cursor.execute("""INSERT INTO test (Name) VALUES ('harry')""")
    #connection.commit()
    #cursor.close()
   
    
except mysql.connector.Error as e:
    if e.errno == errorcode.ER_ACCESS_DENIED_ERROR:
        print('Somethign is wrong with username or password')
    elif e.errno == errorcode.ER_BAD_DB_ERROR:
        print('Database does not exist')
    else:
        print(e)
    
c = connection.cursor()


def insertSQL(user):

    #mySql_insert_query = """INSERT INTO test (Name) VALUES (?)""", user
    print("user:", user)
    print(c.rowcount, "Record inserted successfully into test table")
    
    c.execute("""INSERT INTO test (Name) VALUES ('{}')""".format(user))
    connection.commit()
    
 
    

def username():
    user = input("Please Enter Your Name:" )
    insertSQL(user)
    

我设法通过将插入语句VALUES更改为('{}')。format(user)

来解决该问题