jenkins使用mysql作为用户登录库报错:retrieveUser returned null

背景:

自建jenkins想配置mysql验证(数据库已创建完成),网上未找到任何资料,自己研究好久终于找到了插件,安装后填写配置信息,重启后直接报错了

jenkins使用mysql作为用户登录库报错:retrieveUser returned null

日志就是说用户名或密码错了,思路先不说了,直接上正确配置

配置步骤

一、数据库配置

1.搭建过程略

用户名密码自行配置

2.创建库

名称:jenkins

3.创建表

名称:jenkins_user

jenkins使用mysql作为用户登录库报错:retrieveUser returned null

具体情况见图,字段共4个,使用sql或者图形化都可以,创建后随便写个指进去即可

jenkins使用mysql作为用户登录库报错:retrieveUser returned null

注意:password字段要写md5加密后的字符,加密方法网上自行找

二、jenkins配置

1.确认目前的登录方式

进入“系统配置”-“全局安全配置”-“访问控制”-“安全域”

查看是否有MySQL,默认是没有。

2.安装验证插件

进入“系统管理”-“管理插件”-“高级”-“上传插件”,将mysql-auth.jpi插件上传,插件会自动安装,安装位置在$jenkins_home/plugins/mysql-auth/目录

3.安装mysql连接jar文件

将mysql-connector-java-5.1.46.jar包上传到系统$jdk/jre/lib目录下,重启jenkins服务

4.配置mysql访问控制方式

进入“系统配置”-“全局安全配置”-“访问控制”-“安全域”,应该会有MySQL选项

选中后,按实际情况填写,然后应用即可

jenkins使用mysql作为用户登录库报错:retrieveUser returned null

5.至此,配置完成,即需要使用数据库里的用户登录

6.查看配置文件验证

配置完成后,可打开$jenkins_home/config.xml文件,找到"hudson.plugins.mysql.MySQLSecurityRealm"字段

确认配置信息

jenkins使用mysql作为用户登录库报错:retrieveUser returned null

三、踩过的坑

1.mysql链接的jar包没有上传,没有这个包也汇报用最上面图的错误,但不会提示数据库连接问题。

2.mysql-auth.jpi插件是手动上传的,我从jenkins自带的插件库没有找到,(一开始不知道叫啥名字,所有mysql相关都下载了也不好使)。

3.重点,在jenkins配置里面一定点开“高级”,选一下验证方式和端口,不选是不会默认的,尤其是验证方式(至少我是这样,后续手动改的配置文件),然后就还报第一图的错误,我就是最开始没有这步操作,研究好久。

jenkins使用mysql作为用户登录库报错:retrieveUser returned null

4.一旦配置出问题,无法登陆jenkins,参照上面手动修改配置信息即可。