一、安装依赖包

yum -y install unixODBC.x86_64 unixODBC-devel.x86_64 libdbi-devel.x86_64 libdbi.x86_64 libdbi-dbd-mysql.x86_64 openssl openssl-devel

二、安装mysql

yum -y install mysql-server mysql mysql-connector-odbc.x86_64

1、启动MySQL服务

/etc/init.d/mysqld start

2、配置开机自启动

chkconfig mysqld on

3、初始化MySQL密码

mysql_secure_installation

4、创建openldap所需要的数据库

mysql>create database sso;

mysql> grant all privileges on sso.* to openldap@'localhost' identified by 'openldap';

mysql> grant all privileges on sso.* to openldap@'127.0.0.1' identified by 'openldap';

mysql> flush privileges;

5、依次导入范例数据库

cd /usr/share/doc/openldap-servers-sql-2.4.40/rdbms_depend/mysql

mysql -uopenldap -popenldap sso

mysql -uopenldap -popenldap sso

mysql -uopenldap -popenldap sso

mysql -uopenldap -popenldap sso< testdb_metadata.sql

6、配置ODBC

此处我测试使用的远程主机上的数据库

vim /etc/odbc.ini

[ldap]

Description = The Database formysql

Trace =On

TraceFile =stderr

Driver =MySQL

SERVER = 192.168.1.254USER =ssoadmin

PASSWORD =ssoadmin

PORT = 3306DATABASE =sso

charset =UTF8

option = 3

vim /etc/odbcinst.ini

[MySQL]

Description = ODBC forMySQL

Driver64 = /usr/lib64/libmyodbc5.so

Setup64 = /usr/lib64/libodbcmyS.so

FileUsage = 1

7、测试ODBC驱动连接

isql ldap_mysql [openldap账号] [openldap密码]

三、安装openldap

yum -y install openldap-servers openldap-servers-sql openldap-clients openldap openldap-devel

1、slapd配置文件

# $OpenLDAP$

#

# See slapd.conf(5) for details on configuration options.

# This file should NOT be world readable.

#

include /etc/openldap/schema/corba.schema

include /etc/openldap/schema/core.schema

include /etc/openldap/schema/cosine.schema

include /etc/openldap/schema/duaconf.schema

include /etc/openldap/schema/dyngroup.schema

include /etc/openldap/schema/inetorgperson.schema

include /etc/openldap/schema/java.schema

include /etc/openldap/schema/misc.schema

include /etc/openldap/schema/nis.schema

include /etc/openldap/schema/openldap.schema

include /etc/openldap/schema/ppolicy.schema

include /etc/openldap/schema/collective.schema

modulepath /usr/lib64/openldap

moduleload back_sql

pidfile /var/run/openldap/slapd.pid

argsfile /var/run/openldap/slapd.args

logfile /var/log/slapd/slapd.log

loglevel -1

#######################################################################

# sql database definitions

#######################################################################

backend sql

database sql

suffix "dc=example,dc=com"

rootdn "cn=root,dc=example,dc=com"

rootpw {CRYPT}crv/NUk0P.UHI

dbname ldap

dbuser ssoadmin

dbpasswd ssoadmin

subtree_cond "ldap_entries.dn LIKE CONCAT('%',?)"

insentry_stmt "INSERT INTO ldap_entries (dn,oc_map_id,parent,keyval) VALUES (?,?,?,?)"

2、测试并生成配置文件

cd /etc/openldap/rm -rf slapd.d/*

slaptest -f slapd.conf -F slapd.d/

chown ldap. slapd.d/ -R

3、测试openldap链接MySQL链接数据库

运行:slapd -d 1启动后注意观察报错,如果出现如下的状态,则表示OK:

<==backsql_load_schema_map()

==>backsql_free_db_conn()

==>backsql_close_db_handle(0x1602840)

<==backsql_close_db_handle(0x1602840)

<==backsql_free_db_conn()

<==backsql_db_open(): test succeeded, schema map loaded

slapd starting

这个状态会持续,除非你强制停止!

这个时候,打开另外一个窗口,执行:

ldapsearch -x -D cn=root,dc=example,dc=com -w openldap -s sub -b "dc=example,dc=com" "(objectClass=*)"

如果获得如下的返回结果,则表示正常:

# numResponses: 8

# numEntries: 6

# numReferences: 1

此处说明LDAP已经能正确读取到数据库。注意默认数据库使用的是example,ldapsearch 的时候也要查询example否则无法查询到数据。后面会更新此文章

mysql ldap_OpenLDAP 使用MySQL作为数据库相关推荐

  1. 阿里云rds for mysql平台介绍_阿里云RDS for MySQL实例创建账号和数据库?

    本文介绍如何为RDS for MySQL实例创建账号和数据库. 账号类型RDS for MySQL实例支持两种数据库账号:高权限账号和普通账号.您可以在控制台管理所有账号和数据库,账号拥有的具体权限请 ...

  2. 同时支持三个mysql+sqlite+pdo的php数据库类_同时支持三个MySQL+SQLite+PDO的PHP数据库类...

    PHP学习教程文章简介: 同时支持三个MySQL+SQLite+PDO的PHP数据库类使用方法: // mysql connect $db = new SQL(mysql:host=localhost ...

  3. mysql 单实例部署_Mysql 数据库单机多实例部署手记

    最近的研发机器需要部署多个环境,包括数据库.为了管理方便考虑将mysql数据库进行隔离,即采用单机多实例部署的方式. 找了会资料发现用的人也不是太多,一般的生产环境为了充分发挥机器性能都是单机单实例运 ...

  4. Linux下修改mysql的root密码后数据库消失怎么处理

    Linux系统下如果没有通过password()函数修改mysql的root密码就会导致mysql数据库消失.有些人可能不知道而直接修改了mysql的root密码,于是产生了mysql数据库消失的问题 ...

  5. mysql实训报告_mysql数据库技术》实验报告.doc

    mysql数据库技术>实验报告 MySQL数据库技术实验报告 系 别 班 级 学 号 姓 名 地点 地点机房 课程名称 MySQL数据库技术 实验名称 实验1 MySQL的使用 实 验 过 程 ...

  6. mysql从入门到精通之数据库安装图解

    Mysql是基于C/S架构的.客户端/服务器Clinent /Server 安装版本建议:对于开源软件,不要追求最新的版本,最好是经过线上测试比较稳定的,也就是生产环境中的稳定版的,请务必选用稳定版本 ...

  7. mysql反弹提权_MySQL数据库反弹端口连接提权

    [51CTO.com原创稿件]在渗透或者安全评估时,有可能遇到一些比较奇葩的环境,即使通过Mysql root账号和密码获取了webshell,由于无法执行命令.在一般的情况下,也就放弃了.但其实可以 ...

  8. mysql 创建库 5.7_MySQL数据库之MySQL5.7创建用户时报错

    本文主要向大家介绍了MySQL数据库之MySQL5.7创建用户时报错 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 1 故障现象: 在创建用户时候,提示以下错误: root@l ...

  9. 硬盘满了 mysql启不来_MySQL数据库之磁盘已满造成的mysql启动失败问题分享

    本文主要向大家介绍了MySQL数据库之磁盘已满造成的mysql启动失败问题分享 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 突然发现mysql死活都启不起来了: 复制代码 代 ...

最新文章

  1. 没学过python、但是还是有公司要-转行Python开发自学还是报班?老男孩全日制学习...
  2. java.awt.Graphics2D绘制流程图基本元素
  3. Java 枚举7常见种用法
  4. 大话设计模式学习心得2
  5. 篮球战术谈之1-2-2进攻法
  6. python switch高效替代_Python中用什么代替switch
  7. 记住密码 的 简要概述_密码错误的简要历史
  8. ubuntu classicmenu-indicator
  9. 荷兰国旗问题(三元素数组排序问题)
  10. python os模块大全
  11. 2021 年的简单年终总结
  12. C语言结业作业,2019年本科课程-C语言程序设计结业试卷(附答案).doc
  13. 飞秋FeiQ2013特色功能列表
  14. 电脑主板进bios的启动快捷键汇总
  15. ios系统脚本服务器加速,让iOS系统加速飞起来 speed intensifier插件让iOS系统加速
  16. C# ManualResetEventSlim类
  17. c++ stack用法 入门必看 超详细
  18. 弹性容器----六大属性(5、项目在交叉轴上的对齐方式)
  19. 直积与张量积的数学与物理定义异同
  20. 如何远程控制和管理LoRa网关?

热门文章

  1. ICRA 2021 | UPSLAM:联合全景SLAM
  2. 基于视觉惯性里程计的无监督深度补全方法
  3. react-router-dom v6 中的Routes
  4. Opencv java 二值化函数threshold (10)
  5. AI在管理临床试验设计和执行中,人和机器还在学习曲线上?
  6. 批量从apk文件中提取出so文件
  7. MPB:西农焦硕组-微生物生物地理学研究方法
  8. MPB:山大倪金凤组-黄翅大白蚁肠道放线菌的分离与培养
  9. Nature子刊:海大张晓华团队发现马里亚纳海沟微生物抵抗高压的新机制
  10. 342.基于高通量技术的微生物组研究实验设计