pymysql连不上数据库的问题(pymysql.err.OperationalError: (1045, “Access denied for user)

写了一个python脚本来连数据库,mysql8和python3.7,但是这个库明明命令行能连上,但是程序就是死活连不上,报一个这样的错:

Traceback (most recent call last):
File “addLoan.py”, line 73, in
add_loan_to_mysql()
File “addLoan.py”, line 45, in add_loan_to_mysql
db = pymysql.connect(**db_saas)
File “/usr/local/lib/python3.7/site-packages/PyMySQL-0.9.3-py3.7.egg/pymysql/init.py”, line 94, in Connect
File “/usr/local/lib/python3.7/site-packages/PyMySQL-0.9.3-py3.7.egg/pymysql/connections.py”, line 325, in init
File “/usr/local/lib/python3.7/site-packages/PyMySQL-0.9.3-py3.7.egg/pymysql/connections.py”, line 599, in connect
File “/usr/local/lib/python3.7/site-packages/PyMySQL-0.9.3-py3.7.egg/pymysql/connections.py”, line 871, in _request_authentication
File “/usr/local/lib/python3.7/site-packages/PyMySQL-0.9.3-py3.7.egg/pymysql/connections.py”, line 942, in _process_auth
File “/usr/local/lib/python3.7/site-packages/PyMySQL-0.9.3-py3.7.egg/pymysql/connections.py”, line 684, in _read_packet
File “/usr/local/lib/python3.7/site-packages/PyMySQL-0.9.3-py3.7.egg/pymysql/protocol.py”, line 220, in check_error
File “/usr/local/lib/python3.7/site-packages/PyMySQL-0.9.3-py3.7.egg/pymysql/err.py”, line 109, in raise_mysql_exception
pymysql.err.OperationalError: (1045, “Access denied for user ‘saas_dev_admin’@‘172.16.32.39’ (using password: YES)”)

代码如下:

#添加进件到mysql
def add_loan_to_mysql():
	db_saas={
		"host":"192.168.101.47",
		"user":"slg",
		"password":"enter",
		"db":"fund",
		"charset":"utf8"
	}
	db = pymysql.connect(**db_saas)
	cursor=db.cursor()
	
	loanIdStr="802003261048260010"
	loan_id_num=int(loanIdStr)
	
	for i in range(1):
		loan_id = str(loan_id_num)
		insert_sql="insert into (很长略过)"
			
		try:
			print("正在创建第"+str(i)+"条记录...")
			cursor.execute(insert_sql)
			db.commit()
			add_loan_to_mongo(loan_id,"1204213923985756164","张三","浦发房贷")
		except Exception as e:
			traceback.print_exc()
			print("Error: unable to insert data")
			db.rollback()

		loan_id_num=loan_id_num+1

	db.close()

百思不得其解,从网上找了各种方法都不行。后来问了DBA大哥说是可能跟SSL有关,因为数据库的配置是这样:
在这里插入图片描述
但其实我们在连接库的时候并没有使用证书,使用navicat时候只是勾选一个这样的选项:
在这里插入图片描述
于是盲猜只是在配置中增加一个ssl的空项?闭着眼睛将配置改为这样:

db_saas={
		"host":"192.168.101.47",
		"user":"saas_dev_admin",
		"password":"Saas_dev",
		"db":"saas_fund_harbour",
		"charset":"utf8",
		"ssl":{'ssl':{}}  #很屎虽然什么都没填但是必须有这项配置
	}

居然好了!!!泪奔!!!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值