MySQL ODBC 3.51 Driver - Access Denied 同事反饋在應用伺服器上配置MySQL ODBC 3.51 Drive時,測試連接MySQL資料庫時報下麵錯誤: ERROR [HYT00] [MySQL][ODBC 3.51 Driver]Access denied fo... ...
MySQL ODBC 3.51 Driver - Access Denied
同事反饋在應用伺服器上配置MySQL ODBC 3.51 Drive時,測試連接MySQL資料庫時報下麵錯誤:
ERROR [HYT00] [MySQL][ODBC 3.51 Driver]Access denied for user: 'xxx@xxxx' (Using password: YES)
那麼出現這個錯誤,其實分多種情況:
1:賬號密碼錯誤或賬號不存在。
賬號密碼錯誤或不存在,就會報ERROR [HYT00] [MySQL][ODBC 3.51 Driver]Access denied for user: 'xxx@xxxx' (Using password: YES)這樣錯誤。
2:賬號密碼存在特殊字元,例如特殊字元! @ # $ % ^ ?,那麼也可能碰到這個錯誤。
創建一個測試賬號test,密碼包含一個特殊字元!
mysql> grant select on MyDB.* to test@'%' identified by 'Ac3435!6p';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
然後在一測試伺服器上,配置MySQL ODBC時就會出現這個錯誤。如下截圖所示,
搜索了一下,發現是MySQL ODBC 3.51不允許複雜密碼,如下英文資料所示, 但是我下載安裝MySQL ODBC 5.3測試發現, 這個版本是完全可以的。當然不清楚從那個版本開始,已經開始支持複雜密碼了。這個很坑爹的特性確實讓人很懵!
MySQL ODBC 3.51 No-Complex Password
Warning – You might have a serious headache with MySQL ODBC 3.51 if the password in your GRANT command contains special characters, such as ! @ # $ % ^ ?. MySQL ODBC 3.51 ODBC Driver does not support these special characters in the password box. The only error message you would receive is “Access denied” (using password: YES)
另外,如果網路不通、埠不通、或者MySQL服務沒有啟用,則會報“Can't connect to MySQL server on 'xxxxxx'(10060)"這個錯誤。