Model cache schema created but still not able to write

The user is root and should have all permission...


As I clicked the "turn model caching on" button in the database panel of admin, it showed "No matching clause: :persist.check/populate-kv-table"...

Which dw are you using?

My metabase application database is MySQL 8; the database I added into metabase for querying/reporting is MySQL 5.7.

"browser-info": {
"language": "zh-CN",
"platform": "Win32",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/ Safari/537.36",
"vendor": "Google Inc."
"system-info": {
"file.encoding": "UTF-8",
"": "Java(TM) SE Runtime Environment",
"java.runtime.version": "",
"java.vendor": "Oracle Corporation",
"java.vendor.url": "",
"java.version": "",
"": "Java HotSpot(TM) 64-Bit Server VM",
"java.vm.version": "",
"": "Linux",
"os.version": "3.10.0-1160.45.1.el7.x86_64",
"user.language": "en",
"user.timezone": "Asia/Shanghai"
"metabase-info": {
"databases": [
"hosting-env": "unknown",
"application-database": "mysql",
"application-database-details": {
"database": {
"name": "MySQL",
"version": "8.0.29"
"jdbc-driver": {
"name": "MariaDB Connector/J",
"version": "2.7.6"
"run-mode": "prod",
"version": {
"date": "2023-04-28",
"tag": "v0.46.2",
"branch": "release-x.46.x",
"hash": "8967c94"
"settings": {
"report-timezone": "Asia/Shanghai"

Context: I migrated my metabase instance from one server to another. The metabase model cache schema database (metabase_cache_784b3_2) has been created by the metabase instance from the previous server. Could this be the reason why the metabase instance from the new server is not able to access/read/write the schema database? After I deleted metabase_cache_784b3_2, the metabase instance from the new server creates a schema database but still not able to create any table in the database.

Mostly sure that’s the problem (the schema is generated with the instance Id)

Are you sure that the Metabase use has the create table permission?

Yes, I'm sure Metabase has the permission because the only user that I have my for MySQL is 'root' which has every permission needed.