Answers.Body: <p>Use <code>SELECT TABLE_NAME FROM information_schema.TABLES WHERE ENGINE = 'MyISAM' AND TABLE_SCHEMA = '&lt;your db name&gt;' AND TABLE_NAME LIKE 'civicrm_%' AND TABLE_NAME NOT LIKE 'civicrm_tmp_%'</code> - replace &quot;your db name&quot; - to find which tables it thinks are wrong. That is the same query the <a href="https://github.com/civicrm/civicrm-core/blob/2a067f5d09e3c1fe0d2356dfa9f4d0fdd7a735a7/CRM/Core/DAO.php#L1128" rel="nofollow noreferrer">status check uses</a>.</p>
  <p>Those temp tables you're seeing in the comments above are from years ago so I'm not sure why they would show up just now, but that must be it: <a href="https://github.com/civicrm/civicrm-core/pull/12311/commits/c78f866ee1bcacd88801275c9a8ada9119e2b558" rel="nofollow noreferrer">https://github.com/civicrm/civicrm-core/pull/12311/commits/c78f866ee1bcacd88801275c9a8ada9119e2b558</a></p>
  <p>To clarify the confusion inherent in the question: MyISAM views (for multilingual sites) are expected and normal!</p>
  <p>And, for bonus points, here's some SQL to generate a DROP statement to remove the offending old tables:</p>
  <pre><code>SELECT CONCAT( 'DROP TABLE ', GROUP_CONCAT(table_name) , ';' )  AS statement FROM information_schema.tables  WHERE ENGINE = 'MYISAM' AND table_name like 'civicrm_%';
  </code></pre>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-01-11T15:29:32.217Z
Answers.Text: Thank you, that's perfect! FWIW, the filesystem dates on those tables are from when I migrated these sites to a new server, so I suspect these tables were from a backup that wasn't configured to remove old files!
Answers.UserDisplayName: Alan Dixon
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-01-11T16:29:00.677Z
Answers.Text: Ah that explains that.
Answers.UserDisplayName: Demerit
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-01-10T22:36:05.287Z
Answers.LastActivityDate: 2023-01-11T15:43:51.460Z
Answers.LastEditDate: 2023-01-11T15:43:51.460Z
Answers.UserDisplayName: Demerit
Body: <p>After the most recent CiviCRM security update to 5.56.2, a lot of my D7 sites (maybe all my multilingual ones?) are showing the old MyISAM Database Engine warning.</p>
  <p>I took one example and discovered that it was all the civicrm db 'views' (not the drupal views) that were (now?) MyISAM. I'm using MariaDB 10.3</p>
  <p>I did confirm that the default storage engine is InnoDB.</p>
  <p>I presume it happened as part of the db upgrade part of the civi version upgrade, which was done via the command line using cv, i.e. cv upgrade:db</p>
  <p>I believe the db upgrade will rebuild the views.</p>
  <p>Anyone else have a similar experience and/or solution? Or is this not an issue and it's just a false reporting problem?</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2023-01-09T16:11:48.687Z
Comments.Text: The only views I think are multilingual, and that should use the default engine. Are they from an extension?
Comments.UserDisplayName: Demerit
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2023-01-09T20:58:11.000Z
Comments.Text: Yes, it's exactly all the multilingual views. I can also see this issue with a D9 site with Mariadb 10.4, so it's not specific to D7 or mariadb 10.3.
Comments.UserDisplayName: Alan Dixon
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2023-01-09T21:35:44.510Z
Comments.Text: Are you sure it's views? It might also be temp tables. Try `SELECT TABLE_NAME FROM information_schema.TABLES WHERE ENGINE = 'MyISAM' AND TABLE_SCHEMA = '<your db name>' AND TABLE_NAME LIKE 'civicrm_%' AND TABLE_NAME NOT LIKE 'civicrm_tmp_%'` - replace "your db name"
Comments.UserDisplayName: Demerit
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2023-01-09T22:44:57.023Z
Comments.Text: Definitely only the views, I did a dump by table to confirm.
Comments.UserDisplayName: Alan Dixon
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2023-01-09T22:54:52.747Z
Comments.Text: Ok the above sql is what civi checks to show that status check so I'm out of ideas then.
Comments.UserDisplayName: Demerit
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2023-01-10T17:37:25.783Z
Comments.Text: Are you saying that the civi check should be ignoring the views and that it's okay if they are MyISAM?
Comments.UserDisplayName: Alan Dixon
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2023-01-10T18:38:02.423Z
Comments.Text: If you run the above does it list the views or something else?
Comments.UserDisplayName: Demerit
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2023-01-10T20:50:16.593Z
Comments.Text: Ah, very smart! It doesn't list views, only tables like this: civicrm_task_action_temp_* 
  So I misdiagnosed what was going on, and the issue is about those temp tables that have a different than expected pattern?
Comments.UserDisplayName: Alan Dixon
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2023-01-11T15:32:47.003Z
Comments.Text: And to increase my self-induced-confusion, my dump script was excluding the tmp tables, so I was misdiagnosing the problem in multiple ways!
Comments.UserDisplayName: Alan Dixon
Tags: <upgrade><database><mariadb>
Title: All multilingual views are now MyISAM?
ThreadText: # All multilingual views are now MyISAM?
  
  (Asked by: username_0 on 2023-01-09)
  
  After the most recent CiviCRM security update to 5.56.2, a lot of my D7 sites (maybe all my multilingual ones?) are showing the old MyISAM Database Engine warning.
  
  I took one example and discovered that it was all the civicrm db 'views' (not the drupal views) that were (now?) MyISAM. I'm using MariaDB 10.3
  
  I did confirm that the default storage engine is InnoDB.
  
  I presume it happened as part of the db upgrade part of the civi version upgrade, which was done via the command line using cv, i.e. cv upgrade:db
  
  I believe the db upgrade will rebuild the views.
  
  Anyone else have a similar experience and/or solution? Or is this not an issue and it's just a false reporting problem?
  
  **Tags:** upgrade, database, mariadb
  
  > **Comments:**
  > **username_1**: The only views I think are multilingual, and that should use the default engine. Are they from an extension?  
  > **username_0**: Yes, it's exactly all the multilingual views. I can also see this issue with a D9 site with Mariadb 10.4, so it's not specific to D7 or mariadb 10.3.  
  > **username_1**: Are you sure it's views? It might also be temp tables. Try `SELECT TABLE_NAME FROM information_schema.TABLES WHERE ENGINE = 'MyISAM' AND TABLE_SCHEMA = '<your db name>' AND TABLE_NAME LIKE 'civicrm_%' AND TABLE_NAME NOT LIKE 'civicrm_tmp_%'` - replace "your db name"  
  > **username_0**: Definitely only the views, I did a dump by table to confirm.  
  > **username_1**: Ok the above sql is what civi checks to show that status check so I'm out of ideas then.  
  > **username_0**: Are you saying that the civi check should be ignoring the views and that it's okay if they are MyISAM?  
  > **username_1**: If you run the above does it list the views or something else?  
  > **username_0**: Ah, very smart! It doesn't list views, only tables like this: civicrm_task_action_temp_*  So I misdiagnosed what was going on, and the issue is about those temp tables that have a different than expected pattern?  
  > **username_0**: And to increase my self-induced-confusion, my dump script was excluding the tmp tables, so I was misdiagnosing the problem in multiple ways!  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2023-01-10. Score: 2 | Accepted answer
  
  Use SELECT TABLE_NAME FROM information_schema.TABLES WHERE ENGINE = 'MyISAM' AND TABLE_SCHEMA = '' AND TABLE_NAME LIKE 'civicrm_%' AND TABLE_NAME NOT LIKE 'civicrm_tmp_%' - replace "your db name" - to find which tables it thinks are wrong. That is the same query the status check uses.
  Those temp tables you're seeing in the comments above are from years ago so I'm not sure why they would show up just now, but that must be it: https://github.com/civicrm/civicrm-core/pull/12311/commits/c78f866ee1bcacd88801275c9a8ada9119e2b558
  To clarify the confusion inherent in the question: MyISAM views (for multilingual sites) are expected and normal!
  And, for bonus points, here's some SQL to generate a DROP statement to remove the offending old tables:
  SELECT CONCAT( 'DROP TABLE ', GROUP_CONCAT(table_name) , ';' )  AS statement FROM information_schema.tables  WHERE ENGINE = 'MYISAM' AND table_name like 'civicrm_%';
  
  > **Comments:**
  > **username_0**: Thank you, that's perfect! FWIW, the filesystem dates on those tables are from when I migrated these sites to a new server, so I suspect these tables were from a backup that wasn't configured to remove old files!  
  > **username_1**: Ah that explains that.  
  
  ---
  
  