I\'m setting up a failover cluster on MySQL, in a master/slave architecture. I\'m also configuring my JBoss Datasource, and I\'m looking for the better way to test my connec
The query we use at work to check the connection to a MySQL server is SHOW databases;
which is nice and simple as it doesn't need you to have selected a particular database. I'd say it's pretty reliable and a query like that is pretty efficient.
Quoting this link: Ping MySQL Server Using JDBC
you have to:
The MySQL JDBC driver (Connector/J) provides a ping mechanism.
If you do a SQL query prepended with /* ping */ such as:
"/* ping */ SELECT 1" This will actually cause the driver send a ping to the server and return a fake, light-weight, result set.
(You can find this buried fairly deep in the Connector/J documentation; search for "ping" on that page. Read it carefully: this mechanism is very sensitive to the syntax used. Unlike most SQL, the "parsing" of the "ping" marker happens in the client-side JDBC driver itself.).