日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

OpenLdap+MySQL笔记

發(fā)布時間:2024/4/15 数据库 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenLdap+MySQL笔记 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

最近項目原因,在CentOS下做了一套簡單的LDAP服務(wù),在此記錄一二,本文強(qiáng)調(diào)后期碰到的問題和解決方法

下面的鏈接是比較詳細(xì)的安裝和基本配置過程,這個鏈接適用于debian,但是類似的可以在其他發(fā)行版下借鑒:

http://www.wingfoss.com/content/how-to-install-openldap-with-mysql-on-debian6

如果從源代碼安裝的話,slapd不會被注冊成服務(wù),需要手動來做。下面是一個Ldap自啟動的腳本,我在CentOS下試過了,可以用的

#!/bin/sh # # ldap This shell script takes care of starting and stopping # ldap servers (slapd and slurpd). # # chkconfig: - 70 40 # description: LDAP stands for Lightweight Directory Access Protocol, used # for implementing the industry standard directory services. # processname: slapd # config: /etc/openldap/slapd.conf # pidfile: /var/run/slapd.pid # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0 [ -f /usr/local/libexec/slapd ] || exit 0 # [ -f /usr/sbin/slurpd ] || exit 0export CPPFLAGS="-I/opt/BerkeleyDB.5.3/include" export LDFLAGS="-L/opt/BerkeleyDB.5.3/lib" export LD_LIBRARY_PATH="/opt/BerkeleyDB.5.3/lib"RETVAL=0 # See how we were called. case "$1" instart)# Start daemons.echo -n "Starting ldap: "daemon /usr/local/libexec/slapdRETVAL=$?if [ $RETVAL -eq 0 ]; thenif grep -q "^replogfile" /etc/openldap/slapd.conf; thendaemon slurpdRETVAL=$?[ $RETVAL -eq 0 ] && pidof slurpd | cut -f 1 -d " " > /var/run/slurpdfifi echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/ldap ;;stop)# Stop daemons.echo -n "Shutting down ldap: "killproc slapdRETVAL=$?if [ $RETVAL -eq 0 ]; thenif grep -q "^replogfile" /etc/openldap/slapd.conf; thenkillproc slurpdRETVAL=$?fifi echo if [ $RETVAL -eq 0 ]; thenrm -f /var/lock/subsys/ldaprm -f /var/run/slapd.argsfi ;;status)status slapdRETVAL=$?if [ $RETVAL -eq 0 ]; thenif grep -q "^replogfile" /etc/openldap/slapd.conf; thenstatus slurpdRETVAL=$?fifi ;;restart)$0 stop$0 startRETVAL=$? ;;reload)killproc -HUP slapdRETVAL=$?if [ $RETVAL -eq 0 ]; thenif grep -q "^replogfile" /etc/openldap/slapd.conf; thenkillproc -HUP slurpdRETVAL=$?fifi ;; *) echo "Usage: $0 start|stop|restart|status}" exit 1 esac exit $RETVAL

對腳本的一些說明

  • # chkconfig: - 70 40 :此行不僅僅是注釋,服務(wù)注冊的命令(chkconfig)會根據(jù)這行還決定服務(wù)的啟動順序
  • export是導(dǎo)出BerkeleyDB的庫文件和頭文件

將腳本保存在/etc/init.d下,為其設(shè)置可執(zhí)行權(quán)限

chmod 700 /etc/init.d/ldap

用chkconfig命令注冊腳本在啟動時運行

chkconfig --add ldap chkconfig --level 345 ldap on

因為是基于mysql的后端數(shù)據(jù)庫,所以要保證ldap在mysql啟動后啟動,查看相應(yīng)運行級別的rc.d文件(比如在level3時,進(jìn)入到/etc/rc.d/rc3.d),查看其中的鏈接的開頭數(shù)字是否大于mysql服務(wù)的數(shù)字。關(guān)于CentOS下,服務(wù)的基本概念這里不再說了

?

后續(xù)問題:長時間inactive,LDAP故障,需要重啟

LDAP上線后,發(fā)現(xiàn)每天晚上過來LDAP服務(wù)都不可用了。這個問題一度困擾了我很長時間,網(wǎng)上各種查都無果,為此還在論壇上提問了。詳見http://www.linuxcast.net/ask/show/480

最終偶然的機(jī)會,同事抱怨說Oracle數(shù)據(jù)庫鏈接超過上線,要釋放。我突然來了靈感,猜測是Mysql數(shù)據(jù)庫鏈接自動關(guān)閉的問題,回頭一查,果然mysql的如下參數(shù)設(shè)置成了8小時:

interactive_timeout    | 28800

wait_timeout       | 28800

這樣一來,一晚上(超過8小時)過來mysql主動將LDAP打開并保存的鏈接單方面關(guān)閉了,而LDAP全然不知,也沒有重試鏈接,導(dǎo)致無法查詢數(shù)據(jù)庫。將這個值改大后可以保證一晚上不釋放即可。

?

后續(xù)問題:性能低下

由于保存用戶信息,用于登陸驗證。用戶感知登陸很慢,通常要10秒以上,才能登錄。開始分析:先打開LDAP的log,在LDAP的配置文件里面配置

loglevel?? 256

然后在linux的日志服務(wù)的配置文件中添加

local4.*?? -/var/log/ldap.log

log將輸出到上面的路徑下,關(guān)于linux系統(tǒng)日志服務(wù)的基本知識這里略過

觀察log發(fā)現(xiàn)search每次都要大約6秒鐘的時間,是主要的性能瓶頸。最初想為LDAP加索引和緩存,索引似乎只能支持bdb,緩存似乎要另外裝插件;再看mysql端是否可以優(yōu)化的,用腳本創(chuàng)建出來的表都帶有索引,于是考慮mysql查詢緩存是否能幫上忙:http://blog.webwlan.net/wordpress/?p=422

最終,嘗試配置下面的配置:query_cache_size。這個值默認(rèn)是0,因此,即使query_cache_type默認(rèn)是啟用的,也不能緩存查詢結(jié)果。將query_cache_size配置成大約100M,測試LDAP,明顯登錄加快。再看log,查詢時間縮短到1秒,暫時解決了燃眉之急。

轉(zhuǎn)載于:https://www.cnblogs.com/P_Chou/archive/2012/12/01/opeldap-mysql-notes.html

總結(jié)

以上是生活随笔為你收集整理的OpenLdap+MySQL笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。