Missing table mysql.plugin

Hello,
I’m trying to run this container: GitHub - OpenClassrooms-Student-Center/7365096-Tech-Buy-FR
My OS is Windows 11 and WSL 2
My Docker version is :

Summary

PS C:\Users\marie> docker version
Client:
Version: 28.3.2
API version: 1.51
Go version: go1.24.5
Git commit: 578ccf6
Built: Wed Jul 9 16:12:31 2025
OS/Arch: windows/amd64
Context: desktop-linux

Server: Docker Desktop 4.43.2 (199162)
Engine:
Version: 28.3.2
API version: 1.51 (minimum version 1.24)
Go version: go1.24.5
Git commit: e77ff99
Built: Wed Jul 9 16:13:55 2025
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.7.27
GitCommit: 05044ec0a9a75232cad458027ca83437aae3f4da
runc:
Version: 1.2.5
GitCommit: v1.2.5-0-g59923ef
docker-init:
Version: 0.19.0
GitCommit: de40ad0

When I try to start mysql in Docker Desktop, I get the following log:

2025-07-29 16:07:46.863 | 2025-07-29 14:07:46+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 9.4.0-1.el9 started.
2025-07-29 16:07:52.073 | 2025-07-29 14:07:52+00:00 [Note] [Entrypoint]: Switching to dedicated user ‘mysql’
2025-07-29 16:07:52.082 | 2025-07-29 14:07:52+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 9.4.0-1.el9 started.
2025-07-29 16:07:52.587 | ‘/var/lib/mysql/mysql.sock’ → ‘/var/run/mysqld/mysqld.sock’
2025-07-29 16:07:53.082 | 2025-07-29T14:07:52.607731Z 0 [System] [MY-015015] [Server] MySQL Server - start.
2025-07-29 16:07:53.082 | 2025-07-29T14:07:53.061460Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 9.4.0) starting as process 1
2025-07-29 16:07:53.082 | 2025-07-29T14:07:53.061597Z 0 [System] [MY-015590] [Server] MySQL Server has access to 8 logical CPUs.
2025-07-29 16:07:53.082 | 2025-07-29T14:07:53.061658Z 0 [System] [MY-015590] [Server] MySQL Server has access to 4020473856 bytes of physical memory.
2025-07-29 16:07:53.082 | 2025-07-29T14:07:53.080390Z 0 [Warning] [MY-010159] [Server] Setting lower_case_table_names=2 because file system for /var/lib/mysql/ is case insensitive
2025-07-29 16:07:53.146 | 2025-07-29T14:07:53.145602Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2025-07-29 16:08:07.356 | 2025-07-29T14:08:07.355886Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2025-07-29 16:08:08.823 | mysqld: Table ‘mysql.plugin’ doesn’t exist
2025-07-29 16:08:08.823 | 2025-07-29T14:08:08.822755Z 0 [ERROR] [MY-010735] [Server] Could not open the mysql.plugin table. Please perform the MySQL upgrade procedure.
2025-07-29 16:08:08.823 | 2025-07-29T14:08:08.823245Z 0 [Warning] [MY-010441] [Server] Failed to open optimizer cost constant tables
2025-07-29 16:08:08.824 | 2025-07-29T14:08:08.823777Z 0 [Warning] [MY-010441] [Server] Failed to open optimizer cost constant tables
2025-07-29 16:08:08.824 | 2025-07-29T14:08:08.824340Z 0 [Warning] [MY-010441] [Server] Failed to open optimizer cost constant tables
2025-07-29 16:08:08.825 | 2025-07-29T14:08:08.825016Z 0 [Warning] [MY-010441] [Server] Failed to open optimizer cost constant tables
2025-07-29 16:08:08.825 | 2025-07-29T14:08:08.825633Z 0 [Warning] [MY-010441] [Server] Failed to open optimizer cost constant tables
2025-07-29 16:08:08.826 | 2025-07-29T14:08:08.825991Z 0 [Warning] [MY-010441] [Server] Failed to open optimizer cost constant tables
2025-07-29 16:08:08.826 | 2025-07-29T14:08:08.826303Z 0 [Warning] [MY-010441] [Server] Failed to open optimizer cost constant tables
2025-07-29 16:08:09.266 | 2025-07-29T14:08:09.266476Z 0 [Warning] [MY-010015] [Repl] Gtid table is not ready to be used. Table ‘mysql.gtid_executed’ cannot be opened.
2025-07-29 16:08:10.782 | 2025-07-29T14:08:10.781324Z 0 [Warning] [MY-010015] [Repl] Gtid table is not ready to be used. Table ‘mysql.gtid_executed’ cannot be opened.
2025-07-29 16:08:10.872 | 2025-07-29T14:08:10.871179Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2025-07-29 16:08:10.873 | 2025-07-29T14:08:10.873240Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2025-07-29 16:08:10.895 | 2025-07-29T14:08:10.894880Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location ‘/var/run/mysqld’ in the path is accessible to all OS users. Consider choosing a different directory.
2025-07-29 16:08:10.895 | 2025-07-29T14:08:10.895570Z 0 [Warning] [MY-010441] [Server] Failed to open optimizer cost constant tables
2025-07-29 16:08:10.896 | 2025-07-29T14:08:10.896057Z 0 [ERROR] [MY-013129] [Server] A message intended for a client cannot be sent there as no client-session is attached. Therefore, we’re sending the information to the error-log instead: MY-001146 - Table ‘mysql.component’ doesn’t exist
2025-07-29 16:08:10.896 | 2025-07-29T14:08:10.896163Z 0 [Warning] [MY-013129] [Server] A message intended for a client cannot be sent there as no client-session is attached. Therefore, we’re sending the information to the error-log instead: MY-003543 - The mysql.component table is missing or has an incorrect definition.
2025-07-29 16:08:10.896 | 2025-07-29T14:08:10.896489Z 0 [ERROR] [MY-000067] [Server] unknown variable ‘default-authentication-plugin=mysql_native_password’.
2025-07-29 16:08:10.898 | 2025-07-29T14:08:10.897841Z 0 [ERROR] [MY-010119] [Server] Aborting
2025-07-29 16:08:13.551 | 2025-07-29T14:08:13.550040Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 9.4.0) MySQL Community Server - GPL.
2025-07-29 16:08:13.551 | 2025-07-29T14:08:13.550206Z 0 [System] [MY-015016] [Server] MySQL Server - end.
2025-07-29 16:08:14.601 | 2025-07-29 14:08:14+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 9.4.0-1.el9 started.
2025-07-29 16:08:20.683 | 2025-07-29 14:08:20+00:00 [Note] [Entrypoint]: Switching to dedicated user ‘mysql’
2025-07-29 16:08:20.696 | 2025-07-29 14:08:20+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 9.4.0-1.el9 started.
2025-07-29 16:08:21.126 | ‘/var/lib/mysql/mysql.sock’ → ‘/var/run/mysqld/mysqld.sock’
2025-07-29 16:08:21.608 | 2025-07-29T14:08:21.147357Z 0 [System] [MY-015015] [Server] MySQL Server - start.
2025-07-29 16:08:21.608 | 2025-07-29T14:08:21.593389Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 9.4.0) starting as process 1
2025-07-29 16:08:21.608 | 2025-07-29T14:08:21.593440Z 0 [System] [MY-015590] [Server] MySQL Server has access to 8 logical CPUs.
2025-07-29 16:08:21.608 | 2025-07-29T14:08:21.593465Z 0 [System] [MY-015590] [Server] MySQL Server has access to 4020473856 bytes of physical memory.
2025-07-29 16:08:21.608 | 2025-07-29T14:08:21.605510Z 0 [Warning] [MY-010159] [Server] Setting lower_case_table_names=2 because file system for /var/lib/mysql/ is case insensitive
2025-07-29 16:08:21.681 | 2025-07-29T14:08:21.681419Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2025-07-29 16:08:42.072 | 2025-07-29T14:08:42.071677Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2025-07-29 16:08:43.137 | mysqld: Table ‘mysql.plugin’ doesn’t exist
2025-07-29 16:08:43.137 | 2025-07-29T14:08:43.137233Z 0 [ERROR] [MY-010735] [Server] Could not open the mysql.plugin table. Please perform the MySQL upgrade procedure.
2025-07-29 16:08:43.138 | 2025-07-29T14:08:43.138018Z 0 [Warning] [MY-010441] [Server] Failed to open optimizer cost constant tables
2025-07-29 16:08:43.138 | 2025-07-29T14:08:43.138517Z 0 [Warning] [MY-010441] [Server] Failed to open optimizer cost constant tables
2025-07-29 16:08:43.139 | 2025-07-29T14:08:43.138989Z 0 [Warning] [MY-010441] [Server] Failed to open optimizer cost constant tables
2025-07-29 16:08:43.139 | 2025-07-29T14:08:43.139666Z 0 [Warning] [MY-010441] [Server] Failed to open optimizer cost constant tables
2025-07-29 16:08:43.140 | 2025-07-29T14:08:43.140242Z 0 [Warning] [MY-010441] [Server] Failed to open optimizer cost constant tables
2025-07-29 16:08:43.140 | 2025-07-29T14:08:43.140692Z 0 [Warning] [MY-010441] [Server] Failed to open optimizer cost constant tables
2025-07-29 16:08:43.141 | 2025-07-29T14:08:43.141056Z 0 [Warning] [MY-010441] [Server] Failed to open optimizer cost constant tables
2025-07-29 16:08:43.646 | 2025-07-29T14:08:43.645795Z 0 [Warning] [MY-010015] [Repl] Gtid table is not ready to be used. Table ‘mysql.gtid_executed’ cannot be opened.
2025-07-29 16:08:43.950 | 2025-07-29T14:08:43.950163Z 0 [Warning] [MY-010015] [Repl] Gtid table is not ready to be used. Table ‘mysql.gtid_executed’ cannot be opened.
2025-07-29 16:08:44.000 | 2025-07-29T14:08:44.000381Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2025-07-29 16:08:44.001 | 2025-07-29T14:08:44.001318Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2025-07-29 16:08:44.032 | 2025-07-29T14:08:44.031835Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location ‘/var/run/mysqld’ in the path is accessible to all OS users. Consider choosing a different directory.
2025-07-29 16:08:44.032 | 2025-07-29T14:08:44.032669Z 0 [Warning] [MY-010441] [Server] Failed to open optimizer cost constant tables
2025-07-29 16:08:44.033 | 2025-07-29T14:08:44.033229Z 0 [ERROR] [MY-013129] [Server] A message intended for a client cannot be sent there as no client-session is attached. Therefore, we’re sending the information to the error-log instead: MY-001146 - Table ‘mysql.component’ doesn’t exist
2025-07-29 16:08:44.033 | 2025-07-29T14:08:44.033467Z 0 [Warning] [MY-013129] [Server] A message intended for a client cannot be sent there as no client-session is attached. Therefore, we’re sending the information to the error-log instead: MY-003543 - The mysql.component table is missing or has an incorrect definition.
2025-07-29 16:08:44.034 | 2025-07-29T14:08:44.033870Z 0 [ERROR] [MY-000067] [Server] unknown variable ‘default-authentication-plugin=mysql_native_password’.
2025-07-29 16:08:44.036 | 2025-07-29T14:08:44.035708Z 0 [ERROR] [MY-010119] [Server] Aborting
2025-07-29 16:08:46.626 | 2025-07-29T14:08:46.626165Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 9.4.0) MySQL Community Server - GPL.
2025-07-29 16:08:46.626 | 2025-07-29T14:08:46.626207Z 0 [System] [MY-015016] [Server] MySQL Server - end.

There is an error log and I guess that’s what goes wrong:

2025-07-30 08:59:58.838 | mysqld: Table ‘mysql.plugin’ doesn’t exist
2025-07-30 08:59:58.838 | 2025-07-30T06:59:58.838100Z 0 [ERROR] [MY-010735] [Server] Could not open the mysql.plugin table. Please perform the MySQL upgrade procedure.

I don’t know what to do. Can you help me? Thanks in advance

That project is quite old and they are using the “latest” tag, which is not recommended. When the project started that had to install an older MySQL version. The compose file refers to a plugin

command: --default-authentication-plugin=mysql_native_password

I would try to remove that line and see if that solves the problem. Otherwise you would probably need to create the plugins table with another lag or config parameter for which I would recommend checkin the latest MySQL documentation.

update:
I’m afraid the latest MySQL doesn’t support the that plugin

Note

The mysql_native_password authentication plugin is deprecated as of MySQL 8.0.34, disabled by default in MySQL 8.4, and removed as of MySQL 9.0.0.

So as another solution, you could also replace “mysql:latest” with “mysql:8” or even older depending on what was the latest when the project was created.

Hello, thank you for your help. I eventually worked out a solution:

  1. Download the V2 of the container: GitHub - OpenClassrooms-Student-Center/Tech-Buy-V2
  2. Use the docker-compose.yml and the data/techbuy.sql of the v2 in the folder of the v1

Marie

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.