`
mooncui
  • 浏览: 72508 次
社区版块
存档分类
最新评论

openldap无法启动--连接不上mysql--Client does not support authenticat

阅读更多

  openldap数据是存储在mysql中的,在部署另外一个环境的时候,另建了一个库,然后同事说权限有什么特别的,去数据库里授权了一下,我也不清除他到底作了什么。由于openldap是通过odbc连mysql的,所以在odbc.ini中改了一下数据库名,然后改openldap的schema,mysql中的数据。

  ok,准备启动openldap,发现启动不起来了,查一下日志,发现是数据库连不上,报backend_startup_one: bi_db_open failed! 。不知道为什么数据库连不上,把所有作过的操作都恢复原状,然后还是启动不了。后来把openldap的loglevel设为-1,然后去看启动时的日志发现:“Client does not support authentication protocol”。在网上查了一下,说是mysql的版本从4.0升级到4.1以后用户密码算法方式改变了,由16位变长到41位了,导致连接时认证不成功,要么把客户端升级,要么把用户的密码用就的算法重新计算后修改了,如下:

SET PASSWORD FOR 'user'@'localhost' = OLD_PASSWORD('newpassword');

但问题是之前openldap都是好的,中间也并没有升级mysql之类的,所以我想可能跟这个并没有什么关系。但后来实在没有办法,死马当活马医,而且我们的mysql服务器是5.0以上的,客户端不知道什么版本。

  但后来试了一下后,居然成功了,it works!怎么回事?我后来猜想服务器的odbc客户端版本是的低的,同事电脑上的客户端是高版本的,中间同事在用授权的时候可能改动了用户原来的密码,将密码的格式改掉了。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics