Amb*_*are 10 mysql authentication ms-access odbc
我有一个很好的搜索,但还没有找到一个答案,可以让我纠正这个问题.
我正在尝试从MS Access连接到远程服务器上的MySQL 5.2数据库.
我已经设置了一个用户帐户,该帐户在相关表格上具有选择,插入,更新,删除权限.但是,当我尝试连接此帐户时,我得到:
连接失败[HY000] [MySQL] [ODBC 5.2(w)驱动程序]使用旧(4.1.1之前)身份验证协议拒绝连接(启用客户端选项'secure_auth')
当我尝试使用root帐户访问时,连接正常工作,这让我想知道为什么它会返回一个身份验证协议错误,因为正在使用相同的驱动程序 - 所有改变的是使用的帐户 - 所以肯定是通过密码传递密码相同的认证协议?为什么一个用户名/密码组合会返回协议错误而不是另一个?
看来这个错误很常见,但我还没有找到一个明确的解决方案.你能帮我吗?
这里的问题是由于两个并发问题.
全局设置导致MySQL中的PASSWORD()函数对旧方法中的任何输入值进行散列,而不是按照预期的方式对新方法进行散列.
我认为DBA将OLD_PASSWORDS设置为1是有充分理由的,因此我使用的是解决方案
设置会话old_passwords = 0; 为'user'设置密码@'%'=密码('mypassword');
使用password()函数之前没有工作,因为全局设置OLD_PASSWORDS = 1导致它使用与OLD_PASSWORD()函数相同的散列.会话设置允许它生成正确的密码.
归档时间: |
|
查看次数: |
20821 次 |
最近记录: |