Maxscale not allowed to connect mysql8 with java application - mysql

I have a mysql 8.0.3 database over top of that maxscale server is running when i tried to connect with that mysql jdbc driver this error is coming unknown system variable 'query_cache_size'. But when i tried to connect directly to database is working for me. query_cache_size parameters removed from mysql 8.

The query cache has been deprecated. BTW 8.0.3 is a very old version (4 years) and was pre-general availability (a release candidate) so please do not use it for production.

Edit: With MXS-2890 fixed, you should now be able to configure version_string=8.0.16-mysql in MaxScale to solve this problem
This is most likely caused by the following bug: https://jira.mariadb.org/browse/MXS-2890
The MariaDB JDBC connector should not suffer from this problem which means installing it instead of the MySQL JDBC connector can be used as a workaround.

In your /etc/maxscale.cnf you can add version_string=5.6
[Read-Write-Service]
type=service
router=readwritesplit
servers=master
version_string=5.6
user=user
password=********```
after that i am able to access mysql8 on top of maxscale server.

Related

MySQL database connections broke after DataGrip Upgrade (2021.3.x)

After upgrading DataGrip to version 2021.3.2, my existing db connections were broken. I connect to various DBs (Oracle, MySql) via an SSH tunnel configured to connect through an AWS bastion host.
After the upgrade - DataGrip suggested that the MySql driver had to be updated to Amazon Aurora MySQL driver and it no longer worked to connect where it worked before the upgrade.
Switching between drivers I get two separate errors:
First Error using Amazon Aurora MySQL (suggested driver after update)
[08000][-1] Could not connect to address=(host=localhost)(port=53929)(type=master) : (conn=57522706) could not load system variables[08000][1220] (conn=57522706) Connection is closed.
and second error using original MySQL driver
[08S01]
Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
No appropriate protocol (protocol is disabled or cipher suites are inappropriate).
All of my connections worked immediately prior to the DataGrip upgrade - so seems that upgrade requires new drivers, which have a problem with the way I connect.
After some looking - it seems that Aurora has an existing race condition - found my answer here: https://jira.mariadb.org/browse/CONJ-824?focusedCommentId=165412&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-165412
My solution was to change my usePipelineAuth to false (not set prior) in the Advanced tab of the Data Sources configuration:
This fixed my connections and am back in business.
Finally, In my case, I fix the issue just replacing/using MariaDB Driver.

How to configure MySQL Workbench to not require SSL encryption

I'm trying not to enable using ssl for my connection, but I only have these 3 options in MySQL Workbench without 'No' and 'If Available' options.
I tried re-installing MySQL Workbench, but it doesn't work. What am I supposed to do now??
You can go to the Advanced tab and type the following in the Others field:
useSSL=0
I had the same problem after upgrade to 8.0.27. Had no clue how to solve it.
I downgraded MySQL Workbench back to 8.0.19, and the 'No' and 'If Available' options came back.
Maybe they just want you to buy Navicat I guess.
Instead of downgrading you can also edit the file that stores the connection details with a different editor. This works for at least 8.0.27.
Open /home/.mysql/workbench/connections.xml.
Set the value to 0 for the following for each connection you want to use without SSL:
<value type="int" key="useSSL">0</value>
Note that you'd have to repeat the steps if you edit the connection with the workbench again afterwards.
MySQL Workbench Community version 8.0.28 is released and fix it -
https://dev.mysql.com/downloads/workbench/
ssl certificates really guarantee a secure connection. But locally you shouldn't request a certificate..26 which by default makes use of ssl if it is available, otherwise in the new version it is a requirement.
here is the download link
choose version 8.0.26 here

Error with the version of the database in liferay 7

I work with Eclipse and I want to use the version 7 of Liferay but when I run my Tomcat server I have an error with MySQL.
Please upgrade to at least MySQL 5.6.4. The portal no longer supports older versions of MySQL
Like this the problem is pretty obvious but my SQL version is already 5.7.19
I have check my driver of MySQL in preference->data management->connectivity->driver definition and my MySQL JDBC Driver is 5.1
I want to know if someone already had this issue and know how to fix it
This is how the version gets validated, and this is how the version string gets constructed. I'd say: Please make extra extra extra sure that you are addressing the mysql server that you intend to address:
You can check your mysql version from the mysql command line client by executing select version();. Get your credentials and database URL from Liferay's portal-ext.properties or your appserver's connection pool configuration, depending on where you configured it.

Cannot connect to MySQL docker instance via DataGrip application

I have managed to successfully connect to a docker instance running MySQL via the mysql command line utility. However, I am struggling to do so via DataGrip application from JetBrains.
My mysql cli command is as follows:
mysql -h127.0.0.1 --port=8181 -uroot
The connection string that is generated in DataGrip is:
jdbc:mysql://127.0.0.1:8181
The error I am getting from DataGrip interface is:
[08001] Could not create connection to database server. Attempted reconnect 3 times. Giving up.
Is there anything that need to change in DataGrip that I am missing. I have read that the connection has to also be done via TCP. Not sure how to check that DataGrip is doing that.
Update: I eventually found the problem was the docker container I was using. It seems DataGrip is not able to connect to version 8.0.1 (mysql:8.0.1) mysql docker container. I tested using version 5.7 of the container and could successfully connect.
I was having an issue connecting MySQL 8.0.3 using DataGrip. You need to download the JDBC driver from Oracle website. Select Developer Releases (Since this is an unstable version). The 8.0.8 version worked for me. Download and save in a project folder or something similar on your computer. You will gonna need it later.
Go to DataGrip: File > DataSources. Click on the + and select Driver:
Screenshot of the Step above
On the section Driver Files > Additional files click on the + and select the jar file you just downloaded
After that on the Class dropdown select com.mysql.jdbc.Driver
Mark Dialect as MySQL
On the section URL templates, put the Name as default and Template as jdbc:mysql://{host::localhost}?[:{port::3306}][/{database}?][\?<&,user={user},password={password},{:identifier}={:identifier}>]
Click on apply
Done!
Screenshot of MySQL 8.0.3 running on Datagrip
Add a new datasource using the new driver.
If you find the following error:
[01S00] The server time zone value 'PDT' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support
You can do a temporary fix going to the Advanced tab and setting the serverTimezone variable for UTC as an example.
There are no *.jar-files anymore. Only *.deb-packages for my OS on the Oracle site https://dev.mysql.com/downloads/connector/j/5.1.html
So I selected driver Amazon Aurora MySQL for my MySQL 8.0.3 in docker.
It works!

Disable MySQL secure_auth client option with ZeosLib

I'm trying to connect to a remote MySQL server and i get this exception error:
*Connection using old (pre-4.1.1) authentication protocol refused (client option 'secure_auth' enabled)*
I'm tried to disable the "secure_auth" option by adding the string "MYSQL_SECURE_AUTH=false" to the TZConnection properties, but i get the same error.
I'm using ZeosLib 7.0.4 and Delphi 7. The server has MySQL 5.0.95
Problem solved!
The server is MySQL 5.0.95 (secure_auth disabled) and I was using libmysql.dll 5.6.11 (secure_auth enabled by default). Placing the libmysql.dll 5.0 in the app folder solved it.
I don't understand yet why i can't change the "MYSQL_SECURE_AUTH" at TZConnection.properties.