Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,300,062
Community Members
 
Community Events
165
Community Groups

Error while creating a MySql Database connection resource in ScriptRunner for Jira

I would like to create a Database Connection resource in ScriptRunner for an external MySql database (our Jira instance uses a different database engine).

I have verified that all the information I entered for the connection was correct.

After entering the test SQL query [a simple SELECT COUNT(*) from MyTable], I run into this error saying "Failed to load driver class com.mysql.jdbc.Driver in either of HikariConfig class loader or Thread context classloader" (screengrab below).

image.png

Upon doing further research, I came to the conclusion that Jira probably doesn't ship with MySql driver bundled with the package. Comments on a couple of websites led me to believe that I have to download the MySql Connector RPM from Oracle's website, extract the JAR file from it, and place it in two directories (paths below) within my Jira installation directory, and that's exactly what I did.

  • /jira/atlassian-jira/atlassian-jira/WEB-INF/lib
  • /jira/atlassian-jira/lib

Next thing was to restart Jira so it could pick up the new driver, but Jira failed to come up. Eventually I had to delete the MySql Connector JAR file which restored Jira back.

I examined the log file and saw a bunch of error messages:

17-Sep-2021 09:18:11.371 SEVERE [main] org.apache.catalina.core.ContainerBase.startInternal A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:942)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:793)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.startup.Catalina.start(Catalina.java:688)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:353)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:493)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1423)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1413)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:953)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:882)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 6 more

 Also worth noting is the MD5 hash comparison after downloading the MySql Connector RPM file against the hash published on Oracle's website failed. I attempted the download several times more, and it would consistently fail the comparison (and it would always be identical for each downloaded RPM).

I'd greatly appreciate any help showing me what I'm doing wrong here, and how to get the MySql Database Connection set-up properly.

Jira Version: Data Center v8.8.1

ScriptRunner Version: 6.4.0-p5

 

Many thanks,

Kamran

1 answer

1 accepted

2 votes
Answer accepted

I was able to resolve this by downloading MySql Connector 5.1.49 and copying it to JIRA_INSTALLATION_DIR/lib, followed by restarting Jira.

I followed the steps outlined on https://stackoverflow.com/questions/23308493/how-to-download-mysql-jdbc-jar-file-on-centos.

Somehow, MySql Connector 8.x just wouldn't download correctly and I still don't understand why, but I'm able to connect to my database using v5.1.49 of the MySqlConnector and I'm a happy camper for now! :)

Kamran 

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Published in Jira Software

An update on Jira Software customer feedback – June 2022

Hello Atlassian Community! Feedback from customers like you has helped us shape and improve Jira Software. As Head of Product, Jira Software, I wanted to take this opportunity to share an update on...

50 views 1 3
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you