Xojo and MySQL 8.0

Does Xojo 2018r4 support MySQL 8.0 with SHA256 password encryption?

I’ve been struggling to install MySQL and have just finished removing every reference of MySQL on my local PC.

I’m reinstalling, and thought I’d ask this question before continuing the install.


Can’t help you with your actual question. But I would highly recommend you consider using a docker image to run MySQL locally. That way you can install, run and delete versions with a single command. In my opinion docker is the best thing since sliced loaves from a developer’s point of view.

Okay. I’ll bite. What’s a docker image?

It’s like a VM but for apps: you download the Docker container for your app and that’s it. No installation, no hassle. The Docker container is just huge.

You may also want to try out MAMP. It’s another quick way to get MySQL up and running.


@Peter Trudgian, @Greg O’Lone — I love MAMP as it is so easy to use

In a nutshell, Docker is a virtualized Linux kernel. Unlike a VM, it relies on the host system for IO etc. It is available on many platforms such as Mac and Windows and is supported by most of the major vendors. And it is very lightweight.

A Docker image contains a Linux kernel that has been configured to run a particular application such as MySQL. This means it includes not only the kernel, but also all third party libraries etc that are required to run the application.

There is a lot more to Docker, but the part we are interested in here is the ability to quickly get an instance of a database server up and running on a local machine. Once Docker is installed, it requires just two commands: One to download an image from the vendor and another to start the image and map it to a local port.

Of course this means you can quickly test various database versions, clone instances and make changes etc…

[quote=422633:@Greg O’Lone]You may also want to try out MAMP. It’s another quick way to get MySQL up and running.


It is now old school. It was a great idea in its day. But we’ve moved on. A Docker image is much lighter on resources and faster to install.

Also Docker is supported by all the major vendors and they already have the images available for use.

I’m currently doing some work on SQL Server and I’m running it on my Mac, thanks to an MS provided image.

Well, I can say with MBS Xojo SQL Plugin, you can use your own mysql library version.

That should work with encryption, if you set a few options.

You have to use SSL connection to be able to use SHA256 Passwords.
But you you could add another user to MySQL 8.0 that is using mysql_native_password. This is working out of the box.

I am new to Xojo and have a new project to work on. Just a small utility app that connects to a MySQL DB. Seems a good app to get me started on Xojo (25 years programming in VB, VB dot NET etc).
Question is, the DB Server has just been upgraded to MySQL 8. So I want to be sure that Xojo will connect and work OK. The server is set to use Native Passwords, not SHA, so connections should be OK. But with our VB apps we have had issues when using the old connector (used with MySQL 5.7) and running stored procedures. Because MySQL has changed the way it stores information about procedures, views etc, the old connector can’t run procedures and comes up with an error saying it cant check the parameters.
We got around this (until we update the connector) by adding ‘NO_CHECK_PARAMETERS’ in the connection string. Not ideal, but it does work.
Does anybody know if procedures in MySQL 8 work OK in Xojo and if not, is there a similar work around.
Many thanks

I have the same Question, but with 2019 R3 Xojo…

I’m having no issues with this configuration:
Xojo 2019R3.1 Desktop App on Windows and Mac
MySQL 8.0.19 on Windows 7
I have several views and stored procedures - all work with no issues. The change from MySQL 5.7 to 8 did not require anything special - it just works. In fact my app can switch seamlessly to use a MySQL 5.7 database - all I need to do is change the database connection parameters.

@Eric Bloom: Thank you. This information helps a lot! :slight_smile: