cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Error: CLIENT_PLUGIN_AUTH is required

Geoff.Wild
Producer

I get "Error: CLIENT_PLUGIN_AUTH is required" when trying to setup a collector to connect to 3 older Mysql db systems.

AppDynamics Controller build 23.9.2-1074 
mysql Ver 14.14 Distrib 5.1.73
RHEL 6.1

Is there a way in the collector to change the MySQL JDBC driver to a lower version?



8 REPLIES 8

Ryan.Paredez
Community Manager

Hi @Geoff.Wild,

I found some info, it's a few years old, but perhaps it'll point you in a right direction.

The error could be due to the JDBC driver not being compatible with the MySQL connector JDBC driver jar mysql-X.jar file needs to be renamed with a compatible driver file under <DBAgent_install_dir>/lib/ folder. We will need to stop DB agent java process and replace current JDBC driver for MySQL in agent lib folder with compatible JDBC driver and start agent again, see if that information helps.

Refer to the forum link below 
https://stackoverflow.com/questions/37348572/new-mysql-driver-causes-java-sql-sqlnontransientconnect...


Thanks,

Ryan, Cisco AppDynamics Community Manager




Found something helpful? Click the Accept as Solution button to help others find answers faster.

Liked something? Click the Thumbs Up button.



Check out Observabiity in Action

new deep dive videos weekly in the Knowledge Base.

Geoff.Wild
Producer

I will look into that - question on it - will that affect other Mysql /MariaDB's that are newer?

IE - will they still work with an older driver?

Ryan.Paredez
Community Manager

Hi @Geoff.Wild,

I, unfortunately, don't have an answer to that. If I can find anything on that, I will report back.


Thanks,

Ryan, Cisco AppDynamics Community Manager




Found something helpful? Click the Accept as Solution button to help others find answers faster.

Liked something? Click the Thumbs Up button.



Check out Observabiity in Action

new deep dive videos weekly in the Knowledge Base.

Geoff.Wild
Producer

Well, I tried the solution above, replaced mysql-connector-java-8.0.27.jar with an older version, mysql-connector-java-5.1.49.jar which I got from https://downloads.mysql.com/archives/get/p/3/file/mysql-connector-java-5.1.46.tar.gz 

This broke the other Mysql db collectors and didn't fix the one I was trying to.

So I reverted my change.

The error message for them was:

java.sql.SQLException: No suitable driver found for jdbc:mysql://myhost.mydomain:3306/

Ryan.Paredez
Community Manager

Hi @Geoff.Wild,

So I'm doing my best to parse info from existing tickets. Here is some other info I found.

Please use the hostname and port field and verify the behavior. (You can edit the collector config and use the hostname/port fields)

(the info below most likely references older versions of agents)

  • Replaced MySQL JDBC driver in <db-agent>/lib with 5.1.49v and renamed it as mysql-connector-java-8.0.28.jar
  • Restarted the DB Agent and the data started reporting for the problematic collectors

I hope this helps lead you to try some new things.

 


Thanks,

Ryan, Cisco AppDynamics Community Manager




Found something helpful? Click the Accept as Solution button to help others find answers faster.

Liked something? Click the Thumbs Up button.



Check out Observabiity in Action

new deep dive videos weekly in the Knowledge Base.

Geoff.Wild
Producer

Well, that was worth a shot, fixed a couple of the db's, but one didn't like it.

at com.mysql.jdbc.ExportControlled.transformSocketToSSLSocket(ExportControlled.java:186) ~[mysql-connector-java-8.0.27.jar:5.1.46]
... 37 more
[<NewerDB_1>-Scheduler-1] 31 Jan 2024 13:31:55,299 INFO DBCollectorAgentMonitorDelegate - Stopping DB collector agent 'NewerDB''s delegate...
[Thread-172] 31 Jan 2024 13:31:55,313 INFO ADBCollector - DB collector [NewerDB] shut down!
[Thread-174] 31 Jan 2024 13:31:55,316 INFO ADBAvailabilityCollector - DB Availability Metrics collector [NewerDB] shut down!
[Thread-173] 31 Jan 2024 13:31:55,318 INFO ADBCollector - DB collector [NewerDB_1] shut down!
[Thread-178] 31 Jan 2024 13:31:55,319 INFO ADBAvailabilityCollector - DB Availability Metrics collector [NewerDB_1] shut down!
[<NewerDB>-Scheduler-4] 31 Jan 2024 13:31:55,323 INFO DBCollectorAgentMonitorDelegate - DB collector agent monitor delegate [NewerDB] shut down!
[<NewerDB>-Scheduler-4] 31 Jan 2024 13:31:55,323 INFO DBAgentMonitor - DBAgentMonitor stopped

I'm guessing that I somehow have to register a new agent that uses  mysql-connector-java-5.1.49.jar and point the old db's to that collector.

That is, I need a second MySQL "Database Type" with a separate Agent so that the old db's will have a collector will uses the 5.1 jar and the new db's continue to use the Default MySQL collector which uses the 8.0 jar file. 


Geoff.Wild
Producer

@Ryan.Paredez you were close.

Here's the final solution:

Install a second DBAgent on the connector server using the latest from AppD:
Download db-agent-24.1.0.3704.zip

mkdir /opt/appdynamics/dbagent1
Unzip the agent there.

Replace the lib/mysql-connector-java-8.0.27.jar  with mysql-connector-java-commercial-5.1.13.jar (this one works with older MySQL DB's)

Change the filename to:  mysql-connector-java-8.0.27.jar

Make sure the agent has a different name than the current one by updating the startup options in the start-dbagent script like so:

exec "$JAVACMD" "${JVM_OPTS[@]}" -Ddbagent.name="OldMysql-DB-Agent1" -jar "${APP_HOME}/db-agent.jar"

Update the conf/controller-info.xml as needed.

Start the agent.

In AppD GUI, update the collector to use the  new agent, OldMysql-DB-Agent1 (or what ever you named it).


Ryan.Paredez
Community Manager

Hi @Geoff.Wild,

Thanks for following up with the solution! 


Thanks,

Ryan, Cisco AppDynamics Community Manager




Found something helpful? Click the Accept as Solution button to help others find answers faster.

Liked something? Click the Thumbs Up button.



Check out Observabiity in Action

new deep dive videos weekly in the Knowledge Base.