SolvedHeidiSQL Failure connecting Heidi 9.5 to MySQL 8.0 due to missing plugin: caching_sha2_password

Steps to reproduce this issue

  1. Download and install MySQL 8.0 RC
  2. Verify MySQL up and running on default port.
  3. Download and install HeidiSQL 9.5
  4. Attempt to connect unencrypted to "localhost" / (if IPv4)

Current behavior

Authentication plugin 'caching_sha2_password' cannot be loaded: The specified module could not be found.
          [ OK ]

Expected behavior

Successful connection.

Possible solution

Find or build missing plugin file: caching_sha2_password.dll
or perhaps plugin dll has slightly different name, I can't find it.


  • HeidiSQL version:
  • Database system and version:
    mysql Ver 8.0.4-rc for Win64 on x86_64 (MySQL Community Server (GPL))
  • Operating system:
    Windows 7 64-bit.

Thanks for a great program!!! I love HeidiSQL, but realized I can't build it without a Borland compiler I never bought, but I won't panic.

Thank you in advance for your help,
Robert Eby

53 Answers

βœ”οΈAccepted Answer

I've been able to configure a development machine so that we can connect to in with HeidiSQL:

  1. I added this line to the the MySQL Server configuration file (and restarted it)
  1. With the MySQL command line client (bin/mysql) I updated the password of the user I use with HeidiSQL:
ALTER USER 'username'@'hostname' IDENTIFIED WITH mysql_native_password BY 'password';

Other Answers:

It was reported on forum too:

Seems related to MySQL 8.x, but I can't found where we can download it. Maybe just update libmysql.dll.

Solved it! I just had to ensure that the second parameter to mysql_options is a 32bit integer, not some Delphi enumeration which is internally handled as a lower numeric type like Byte or Smallint:

TMySQLOption = (
mysql_options(FHandle, Integer(MYSQL_PLUGIN_DIR), 'c:\path\to\heidisql\plugins\');

That casting to Integer did the trick.
Delphi enumerations seem to be Byte or Smallint, while C enum's seem to be Int32 or UInt32.

Related Issues:

HeidiSQL Failure connecting Heidi 9.5 to MySQL 8.0 due to missing plugin: caching_sha2_password
I've been able to configure a development machine so that we can connect to in with HeidiSQL: I adde...
sequelize Class constructor Model cannot be invoked without 'new' and how getter v4 work?
Intypescript case my solution was to change target from es5 to es6 Hi all ...
typeorm Error: RepositoryNotFoundError: No repository for [Enitity] was found. Looks like this entity is not registered in current "default" connection? Issue type: [x] question [x] bug r...
ddev In WSL2 ddev start fails at docker-credential-desktop.exe, "error listing credentials"
I had to set credsStore: in my ~/.docker/config.json .. it was previously set to credentials.exe ...
prisma Prisma Migrate: Error creating shadow database
I just want to add a quick note for folks coming here from googling the error message that if you ar...
sequelize Sequelize intellisense doesn't work in Visual Studio Code
This looks like a bug with VSCode to be honest.. I just tried to reproduce What are you doing? I ins...
sequelize TimeoutError: ResourceRequest timed out
I have fixed the issue by maximizing the acquire option of pool configuration in sequelize I guess A...
sequelize Using underscored: true still returns attributes in camelCase
Hello I was having the same problem as @twistedrc1017 with the timestamps created_ at and updated_at...
typeorm Relation decorators: allow to pass string instead of typeFunction
PR is submitted As an example Issue type: [ ] question [ ] bug report [x] feature request [ ] docume...
sequelize 4.0 Model definition syntax
After all night of tweaking I finally have a working example based on @leebenson and @felixfbecker's...
typeorm How to get foreign key for instance?
You can't do that because your group is relation object its not a simple number (id of the pricetagg...
typeorm MissingDriverError: Wrong driver: "undefined" given.
solved it by export the config this way in my ormconfig.ts: Issue type: [ ] question [X] bug report ...
sequelize Class constructor Model cannot be invoked without 'new'
@SimonSchick Interesting I didn't know that Indeed adding the following tsconfig.json to my root fol...
sequelize Please install mysql2 package manually
@arielrahmane wherever you import sequelize you can set the dialectModule in the options Example bel...
typeorm .save() is throwing duplicate key value violates unique constraint
I can confirm that this problem still exists I'm using typeorm with postgres. Issue type: [x] questi...
typeorm Error: Entity metadata was not found
I ran into the same issue TypeORM is very difficult to debug with args and meta data classes/collect...
sequelize Separate: true β€” Cannot read property 'push' of undefined
I got to make it work on my side by specifying the foreignKey in the included attributes I'm using s...
typeorm WHERE, Date, and BETWEEN
It appears that there is a bug with how QueryBuilder is handling dates I only tested with SQLite ...
typeorm ER_NOT_SUPPORTED_AUTH_MODE after upgrade
I found a solution for docker --default-authentication-plugin=mysql_native_password ...
sequelize Error in sequelize.import: defineCall is not a function
That means you have tried to import a module that did not do a module.exports = function() { ...
typeorm { EntityMetadataNotFound: No metadata for "User" was found.
In my case I just needed to change this : Into this : Hello I'm trying to setup a new project using ...
migrate Dirty database version 1. Fix and force version
@duyanghao Of course I can Let's assume I want to create a new table But I made a slight mistake (mi...
typeorm Migration cli unexpected token import
Anyone wondering about this you must run your .ts files thru ts-node first Simply: ...
typeorm ts-node throwing RepositoryNotFoundError
I also had the same No repository for .. in current default connection and it worked fine for develo...
typeorm many-to-many-relations with not default join table columns names
@DavidBM can you please provide a more detailed description of the issue you have and what you are t...
sequelize Resource Request Timed out
@Celadora if I understand this issue correctly this is just a matter of tweaking the pool settings I...
typeorm beforeInsert not being triggered
You have to instantiate the Entity and assign the attributes to it and then save. ...
typeorm Cannot set property EntityManager of #<Object> which has only a getter
Edit your package.json at your project root directory to avoid using latest version of tslib ...
typeorm QueryFailedError: column cnst.consrc does not exist
@murbanowicz Fixed in 0.2.21 just checked. Issue type: [ ] question [x] bug report [ ] feature reque...
sequelize Logging problem with Winston
@benjhoo: how about a simple work-around for now: This prints out the following in my test: ...
typeorm SQL Syntax error when empty array is given into "In" method
There is workaround You can do: X IN (NULL) is equivalent to 1=0 and X IN (NULL 3) is equivalent to ...
sequelize ERROR: Please install sqlite3 package manually
i had same issue npm rebuild helped me after installing sequelize-cli and express-generator npm inst...
sequelize Error: Please install 'pg' module manually
Looks like this has to do with where you have the modules installed I was running a globally install...
phpmyadmin Notice in ./libraries/DisplayResults.php#1229 Trying to access array offset on value of type bool
I have also faced the same notice after upgrading php 7.2 to 7.4 on phpmyadmin 4.6 Below steps solve...
typeorm [Question] QueryBuilder - Issues with executing a query builder.
After tinkering around for a while I found that orderBy works by providing the ${alias}.${propertyNa...
phpmyadmin /localhost/phpmyadmin showing PHP code instead of login page
I was facing the same issue on Ubuntu16.04 then It solved This is my all installed list depending on...
prisma Support Order by Relations
Just wanted to give this some attention since it's still something I am waiting on :) ...
prisma "FATAL: sorry, too many clients already" postgres error in develop mode on
@cimchd You should indeed refactor it so that the code is using a single instance of the Prisma clie...
sequelize node-postgres version 7 incompatibilities
Please pin a note at the top of the readme stating that Sequelize is currently incompatible with pg ...
typeorm @CreateDateColumn and @UpdateDateColumn should use value if provided.
It would be a nice option to be able to override the values for generating fake test data. ...
typeorm Please clarify: Is lazy-loading with promises supported or not?
Sorry if it's not appropriate but I have to strongly disagree There are numerous comments by @pleero...
prisma "'node_modules/@prisma/client' has no exported member 'PrismaClient'." when using symlinks
Using pnpm & rush I got the same error It seems like the problem is an inconsistency in the way syml...
typeorm Many to Many (bidirectional) - table path is undefined (bug in documentation?)
you need to replace the following line (in the User entity) @ManyToMany(type => Role) with: @ManyToM...
prisma Provide binaries for Alpine Linux
Thanks a lot for reporting πŸ™ This issue is fixed in the latest alpha version of @prisma/cli You can...
sequelize seed data containing JSONB columns in postgres
Based on: Having j...
sequelize Nested include with limit produce broken query
I actually just fixed my issue by setting subQuery: false in the findAll object @Mohamed-Habshey you...
typeorm Unable to connect to Heroku postgres from outside of Heroku
Solution is here To do so in typeorm you need to provide option in special extra section of connecti...
typeorm EntityMetadataNotFound: No metadata for "User" was found.
Fixed my issue; I just needed to be in the correct directory to make the relative paths in ormconfig...
typeorm [PROBLEM] constraint "PRIMARY KEY" of relation "TABLE" does not exist
Same here as @ZoroSC stated Disabling synchronize option resolved the issue Versions: TypeORM: 0.2.1...
typeorm typeorm_metadata table not in migrations when generating view sql
Same query for PG: Issue type: [ ] question [x] bug report [ ] feature request [ ] documentation iss...