看报错本以为是一个简单的传参问题,没想到查到盘丝洞。
python
# 报错信息
wrap_socket() got an unexpected keyword argument 'ciphers'
python
# 报错代码段
@_exception_handler()
def connect(self):
u"""连接MySQL数据库"""
self.config_connect_args()
if not self.get_conn():
self.conn = mysql.connector.connect(**self.connect_config) # 报错行
self.set_sql_timeout()
self.init_my_variables()
return True
此问题在 这里 有说明,我对其总结如下:
python版本 | mysql-connector-python版本 | 结果 |
---|---|---|
2.6.6 | 2.1.3 | 正常 |
2.6.6 | 2.1.7 | 报错 |
2.6.6 | 8.0.5b1 | 报错 |
解决办法:
python
# 1.查看当前服务器安装的mysql-connector-python版本号
python
Python 2.6.6
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import mysql.connector
>>> mysql.connector.__version__
'8.0.5b1'
>>> exit()
# 2.查找mysql-connector-python的包名
rpm -qa | grep mysql
mysql-connector-python-8.0.5-0.1.dmr.el6.x86_64
# 3.卸载这个版本
rpm -e mysql-connector-python-8.0.5-0.1.dmr.el6.x86_64
# 4.安装2.1.3版本(注:如果有冲突,看是不是还有其他版本,都卸载掉)
rpm -ivh mysql-connector-python-2.1.3-1.el6.x86_64.rpm
Preparing... ########################################### [100%]
1:mysql-connector-python ########################################### [100%]
# 5.检测mysql-connector-python的版本是否正确
python
Python 2.6.6 (r266:84292, Nov 22 2013, 12:16:22)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import mysql.connector
>>> mysql.connector.__version__
'2.1.3'
>>> exit()
完工,再测试,就不会有如标题的报错了。