mysqlconnect bug 處理一例。
python 3.6 遇到這個問題。
其實不是 python 的問題 是 mysqlconnect 驅動的問題。
用 mysqlconnect 去連結 mysql 5.5.x 版本的資料庫的時候。 就報這個錯誤了。
修改方法放這裡了。
C:\Python36\Lib\site-packages\mysql\connector\protocol.py
mysql connect 的這個 protocol.py 程式碼
第 225 行 。
capabilities & ClientFlag.PLUGIN_AUTH: (packet res[].startswith()):
把
and res['server_version_original'].startswith("5.5.8")):
修改為
and (res['server_version_original'].startswith("5.5.8") or res['server_version_original'].startswith("5.5.9"))):
然後儲存 從新 連結資料庫就可以了。
當然了 ,如果你用的 5.5.x 就再後面不停的加 or 然後加版本就行了。
這本身是 mysql 的一個bug
好了,問題就再這裡了。
出錯資訊 在下面。
-
>>> import os ,sys
-
>>> import dba1 as dba
-
python 版本 ok
-
>>> db=dba.mysql('192.168.x.x',3306,'hounew','hounew','hounew')
-
Traceback (most recent call last):
-
File "C:\Python36\lib\site-packages\mysql\connector\utils.py", line 279, in read_string
-
idx = buf.index(end)
-
ValueError: subsection not found
-
-
During handling of the above exception, another exception occurred:
-
-
Traceback (most recent call last):
-
File "C:\Python36\lib\site-packages\mysql\connector\connection.py", line 152, in _do_handshake
-
handshake = self._protocol.parse_handshake(packet)
-
File "C:\Python36\lib\site-packages\mysql\connector\protocol.py", line 233, in parse_handshake
-
packet, end=b'\x00')
-
File "C:\Python36\lib\site-packages\mysql\connector\utils.py", line 281, in read_string
-
raise ValueError("end byte not present in buffer")
-
ValueError: end byte not present in buffer
-
-
During handling of the above exception, another exception occurred:
-
-
Traceback (most recent call last):
-
File "<pyshell#2>", line 1, in <module>
-
db=dba.mysql('192.168.75.100',3306,'houselib_new','houselib_new','houselib_new')
-
File "C:\Python36\lib\dba1.py", line 286, in __init__
-
self.conn = connection.MySQLConnection(host=host, port=port, user=user, password=passwd, database=database)
-
File "C:\Python36\lib\site-packages\mysql\connector\connection.py", line 104, in __init__
-
self.connect(**kwargs)
-
File "C:\Python36\lib\site-packages\mysql\connector\abstracts.py", line 960, in connect
-
self._open_connection()
-
File "C:\Python36\lib\site-packages\mysql\connector\connection.py", line 289, in _open_connection
-
self._do_handshake()
-
File "C:\Python36\lib\site-packages\mysql\connector\connection.py", line 155, in _do_handshake
-
raise errors.get_mysql_exception(msg=err.msg, errno=err.errno,
-
AttributeError: 'ValueError' object has no attribute 'msg'
-
>>>
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/133735/viewspace-2748529/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 處理生產bug
- [20190718]12c壞塊處理一例.txt
- TiDB DM同步報錯ErrCode 44006處理一例TiDB
- bug及異常處理1
- MySQL Case-information_schema檢視查詢慢處理一例MySqlORM
- OGG-01028 Recovery record is missing from log 的BUG處理
- CrossApp 更新至 0.1.10,處理多個細節與BUGROSAPP
- Redis4.0從庫複製報錯"master_link_status:down"處理一例RedisAST
- 【支付BUG】呼叫某系統支付介面異常處理小記
- 記錄一個cpu彪高的BUG處理--jvm調優JVM
- bug處理--antdesign中umi升級後無法載入子頁面
- antdesign的表單中的下拉框設定預設值BUG處理
- Oracle 12c因bug導致ORA-04031問題處理過程Oracle
- 「日常開發」記一次因使用Date引起的線上BUG處理
- 多對一處理 和一對多處理的處理
- JSP 異常處理如何處理?JS
- expdp慢的一次處理思路,最後發現原來遇到了bug
- 玩轉FMEA,讓bug無處可藏!
- 模板處理
- 平滑處理
- 字串處理字串
- 事件處理事件
- hive 故障一例Hive
- 王者榮耀2.0版本更新問題彙總 官方:Bug緊急修復處理中
- 年年出妖事,一例由JSON解析導致的"薛定諤BUG"排查過程記錄JSON
- Python錯誤處理和異常處理(二)Python
- APM RUEI processor處理程式hang死處理方法
- Python資料處理(二):處理 Excel 資料PythonExcel
- Python影像處理丨5種影像處理特效Python特效
- webgl 影像處理2---影像畫素處理Web
- 【故障處理】ORA-600:[13013],[5001]故障處理
- Apache Beam,批處理和流式處理的融合!Apache
- 面試題:你工作中碰到的印象比較深的 bug,你怎麼處理的?面試題
- Python 影像處理 OpenCV (6):影像的閾值處理PythonOpenCV
- Python 影像處理 OpenCV (7):影像平滑(濾波)處理PythonOpenCV
- rust學習十、異常處理(錯誤處理)Rust
- C#基礎之前處理器,異常處理C#
- ajax非同步提交 有時會出現無bug的資料處理異常-----debug沒有問題,正常執行卻資料處理不正確,極少機會會出現正常的處理結果非同步