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 = '<your db name>' 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](https://github.com/civicrm/civicrm-core/blob/2a067f5d09e3c1fe0d2356dfa9f4d0fdd7a735a7/CRM/Core/DAO.php#L1128).
  
  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.  
  
  ---
  
  