RMySQL or RMariaDB to connect to a MySQL 8 DB? - mysql

Perhaps it's a silly question, but at least for me is not that obvious. Perhaps for the naming.
I'm trying to figure out what is the correct package I'm need to use to connect my R code to a MySQL database.
I've read in the RMySQL package that:
NOTE: this package is being phased out in favor of the new RMariaDB package.
So in other words, from now on do I need to use RMariaDB package even if I'm connecting to MySQL or MySQL support is going to be dropped at some point since the databases are diverging a little bit on each version.
I specially ask in the context of MySQL 8.
Thanks!

Yes, you should use RMariaDB instead of RMySQL.
Both RMariaDB and RMySQL are using the same database driver, the MariaDB Connector/C client library for client/server communication:
MariaDB Connector/C supports all MySQL and MariaDB specific authentication methods, so connecting to a MySQL 8.0 database server shouldn't be a problem.
Beside the X-Protocol, which isn't used in R, MariaDB Connector/C also supports all MySQL specific api features.
RMariaDB supports text and binary protocol for client/server communication. Differences between MySQL and MariaDB binary protocol are handled in MariaDB Connector/C, text protocol is still the same.
RMariaDB will be a replacement for RMySQL, so in near future you will not get bug or security fixes for RMySQL anymore.

Related

Error message in MySQL Workbench: 'local instance 3306 - warning - not supported' what does this mean? [duplicate]

Maintenace tasks such as servers status, client connections etc call come up with the same error.
The version of the server you're trying to connect to is 10.0, which is not supported by Workbench.
Is there a quick hack to allow the use of these with Mariadb 10.04 or 10.06
MySQL Workbench checks for the specific version of the server since each version supports a different set of configuration options. E.g. some 5.6 options must not be set on a 5.5 server.
MariaDB is not officially supported. It could be possible to hack the version check to make it pass with 10.0, but much with the differences between the fork and the original MySQL versions there is a chance that you could run into errors or break your server's configuration. The settings in MariaDB are not 100% compatible.
For that reason it is recommended to use a different tool that has dedicated support for MariaDB.

Is MySQL 8J driver class compatible with MySQL 5.1.x connector series?

This section of the MySQL documentation (https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-api-changes.html) states that API changes will be required when moving from 5.1.x to 8.0, however, can a db connection and with simple operations still work if attempting to use com.mysql.cj.jdbc.Driver with 5.1.x connector?
Judging from https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-versions.html, the connector is not compatible with MySQL server version 5.1. The stated compatible server versions are 5.6, 5.7 and 8.0.
However, I wouldn't be discouraged myself to give it a try. If you have good reason to upgrade your app code, but keep your server version back, it might very well be worth a shot. Client/server protocols don't tend to change that much. Of course, this would involve testing your application code, but you would need to anyway.
That being said, obviously, upgrading your server is the better and more future-proof route.

MySQL version for RMySQL

I am using MySQL and R, with the package RMySQL... (naturally)
After a computer update, and when loading RMySQL, I started getting this warning message:
RMySQL was compiled with MySQL 5.5.40 but loading MySQL 5.6.24 instead!
This may cause problems with your database connections.
Please install MySQL 5.5.40.
I would rather not have to downgrade MySQL, and was wondering if I should just compile RMySQL in order to use the newer version. Still, I couldn't find how to do it, and therefore look for a more direct answer.
Best regards,

Which versions of mysql can MySQL Workbench 6.0.9 connect to?

I've scoured the MySql website to see if they have compatibility listings for MySQL Workbench, but have not found anything. Does anyone know if 6.0.x can connect to 5.5.x databases? I'd rather not install and then have to roll back.
MySQL Workbench can connect to most MySQL server versions, but that is probably not the primary question. You should rather ask what minimum version it can work with. MySQL Workbench requires at least MySQL 5.0 and can work with any MySQL server after that (including the new 5.7). Some features like authentication plugin or performance schema support require higher server versions, though.

How to Create DSN in ubuntu

I want to create a DSN in Ubuntu Linux 10.10 for a Java application with a MySQL back end.
Sorry if the question is simple but I really need your help.
How can I create it? What are the drivers that are needed to install for the same?
JDBC is the way to go to get database connectivity in a Java application.
You'll need to install a JDBC driver for MySQL, e. g. Connector/J. Installation and usage of Connector/J is documented in the MySQL reference manual.
The format of a connection URL for Connector/J is specifically described in 20.3.4.1. Driver/Datasource Class Names, URL Syntax and Configuration Properties for Connector/J.