python3使用pymysql连接Inception问题-创新互联

pymysql 连接Inception ,在判断版本时会出现value error 问题。

惠济ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!

原因是pymysql通过‘.’进行分割,但是Inception的版本信息是这样的

./mysql -V

 Ver 14.14 Distrib Inception2.1.50, for Linux (x86_64) using  EditLine wrapper

oracle mysql的版本是:

mysql  Ver 14.14 Distrib 5.7.18, for Linux (x86_64) using  EditLine wrapper

因此Pymysql获取到的值为Inception2,最后int() 报value error。

可以简单修改pymysql connections.py(只是解决了问题,对具体代码还不是很了解)

    def _request_authentication(self):         # https://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::HandshakeResponse         if self.server_version.split('.', 1)[0] == 'Inception2':             self.client_flag |= CLIENT.MULTI_RESULTS         elif int(self.server_version.split('.', 1)[0]) >= 5:             self.client_flag |= CLIENT.MULTI_RESULTS

使用Pymysql connection配置可以是下面这样

conn = pymysql.connect(host='127.0.0.1',                user='',                passwd='',                db='',                port=6669,                autocommit=True,                cursorclass=pymysql.cursors.DictCursor,                charset='utf8mb4'                )

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前文章:python3使用pymysql连接Inception问题-创新互联
链接地址:http://hbruida.cn/article/ccpjcg.html