Answers.Body: <p>Sounds good. To be sure, please execute ///civicrm/menu/rebuild?reset=1&amp;triggerRebuild=1 which fixes the trigger and function definitions in the database.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-01-28T06:47:07.483Z
Answers.LastActivityDate: 2016-01-28T06:47:07.483Z
Answers.UserDisplayName: Catorghans
Answers.Body: <p>Single command to update all tables is:</p>
  
  <p>SELECT CONCAT('ALTER TABLE ', TABLE_SCHEMA, '.', TABLE_NAME, ' engine=InnoDB;') 
  FROM information_schema.TABLES WHERE ENGINE = 'MyISAM';</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-09-12T18:05:19.813Z
Answers.LastActivityDate: 2016-09-12T18:05:19.813Z
Answers.UserDisplayName: xtylus
Answers.Body: <p>I had the issue which kept recurring - traced it to an extension that I use for exporting to excel - was creating the temp file in MyISAM - removed the extension and the issue went away. </p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-09-12T18:53:43.827Z
Answers.LastActivityDate: 2016-09-12T18:53:43.827Z
Answers.UserDisplayName: Josh Mailman
Answers.Body: <p>I backed the database up, opened it up in Sequel Pro and went to the <code>civicrm_system_log</code> table. Under "Table Info" I could select "InnoDB" from the dropdown. Then I cleared the caches on the CiviCRM installation and the system status came back green ("System Status: OK").</p>
  
  <p><a href="https://i.sstatic.net/wV9aK.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/wV9aK.jpg" alt="Sequel Pro"></a></p>
  
  <p>Per <a href="https://civicrm.stackexchange.com/questions/9257/myisam-database-engine-error">a comment from George Lozier on another thread</a>, the MySQL query to do the same is:</p>
  
  <pre><code>ALTER TABLE civicrm_system_log ENGINE=InnoDB;
  </code></pre>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-01-31T03:56:10.467Z
Answers.Text: This solution worked on 2 Bluehost shared hosting Joomla sites for me. No cache clearing was necessary. Thank you.
Answers.UserDisplayName: isherwood
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-08-16T12:57:54.707Z
Answers.Text: For me it was not the log table but one called `civicrm_task_action_temp...`. But changing the table type worked.
Answers.UserDisplayName: thoni56
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-12-11T12:09:28.047Z
Answers.Text: I'm a site from 4.1.0 and do not see the system_log or task_action_temp tables. What else can I try?
Answers.UserDisplayName: Christia
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-12-11T18:36:39.337Z
Answers.Text: @Christia Take a look at any temporary tables (see: https://civicrm.stackexchange.com/questions/26969/temporary-table-keeps-showing-up-and-throwing-myisam-error-and-missing-log-table/27065#27065 ) -- or just go through tables one by one until you find the culprit(s).
Answers.UserDisplayName: Laryn
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-12-12T01:48:15.700Z
Answers.Text: Catorghans answer worked for me. Thanks though!
Answers.UserDisplayName: Christia
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-02-16T06:11:36.663Z
Answers.Text: I used this SQL query to find which table,  SELECT * FROM information_schema.TABLES WHERE ENGINE = 'MyISAM';   Then I was able it to InnoDB  Then I ran Catoghans reset /civicrm/menu/rebuild?reset=1&triggerRebuild=1
Answers.UserDisplayName: Iowa Boy
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-01-28T06:06:44.457Z
Answers.LastActivityDate: 2016-02-01T20:00:09.303Z
Answers.LastEditDate: 2017-04-13T12:53:13.167Z
Answers.UserDisplayName: Laryn
Body: <p>I just upgraded a large site to 4.7 (without any issues in the upgrade process by the way). The new "System Status" admin screen gives a warning as follows: </p>
  
  <blockquote>
    <p>"Your database is configured to use the MyISAM database engine.
    CiviCRM requires InnoDB. You will need to convert any MyISAM tables in
    your database to InnoDB. Using MyISAM tables will result in data
    integrity issues."</p>
    
    <p><a href="https://i.sstatic.net/RCMJ9.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/RCMJ9.jpg" alt="MyISAM"></a></p>
  </blockquote>
  
  <p>This is news to me. I took the database over from another person and have upgraded it a number of times already. I looked at the database and it does have some strangeness. For the most part, each <code>civicrm_</code> table is listed as INNODB, all the <code>log_</code> tables show up as ARCHIVE, and at the bottom the global setting seems to be MYISAM. The one exception is the <code>civicrm_system_log</code> table, which is listed as MYISAM.</p>
  
  <p>Is this going to cause problems, and is there an easy way to get everything on track?</p>
  
  <p><a href="https://i.sstatic.net/Ohd9N.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/Ohd9N.jpg" alt="PhpMyAdmin"></a></p>
  
  <p>...</p>
  
  <p><a href="https://i.sstatic.net/McJoR.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/McJoR.jpg" alt="PhpMyAdmin 2"></a></p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2016-09-12T22:15:27.393Z
Comments.Text: I had the issue also in Wordpress/Civi and changed to InnoDB with no issues to date using phpAdmin!
Comments.UserDisplayName: Garry Hyman
Tags: <mysql><mysql-archive-format><db-logging>
Title: MyISAM database but all civicrm_ tables are INNODB... is this a problem?
ThreadText: # MyISAM database but all civicrm_ tables are INNODB... is this a problem?
  
  (Asked by: username_0 on 2016-01-28)
  
  I just upgraded a large site to 4.7 (without any issues in the upgrade process by the way). The new "System Status" admin screen gives a warning as follows:
  
  > "Your database is configured to use the MyISAM database engine.
  > CiviCRM requires InnoDB. You will need to convert any MyISAM tables in
  > your database to InnoDB. Using MyISAM tables will result in data
  > integrity issues."
  >
  > [![MyISAM](https://i.sstatic.net/RCMJ9.jpg)](https://i.sstatic.net/RCMJ9.jpg)
  
  This is news to me. I took the database over from another person and have upgraded it a number of times already. I looked at the database and it does have some strangeness. For the most part, each `civicrm_` table is listed as INNODB, all the `log_` tables show up as ARCHIVE, and at the bottom the global setting seems to be MYISAM. The one exception is the `civicrm_system_log` table, which is listed as MYISAM.
  
  Is this going to cause problems, and is there an easy way to get everything on track?
  
  [![PhpMyAdmin](https://i.sstatic.net/Ohd9N.jpg)](https://i.sstatic.net/Ohd9N.jpg)
  
  ...
  
  [![PhpMyAdmin 2](https://i.sstatic.net/McJoR.jpg)](https://i.sstatic.net/McJoR.jpg)
  
  **Tags:** mysql, mysql-archive-format, db-logging
  
  > **Comments:**
  > **username_1**: I had the issue also in Wordpress/Civi and changed to InnoDB with no issues to date using phpAdmin!  
  
  ---
  
  ## 4 answers
  
  ### Answer by username_0 on 2016-01-28. Score: 13 | Accepted answer
  
  I backed the database up, opened it up in Sequel Pro and went to the civicrm_system_log table. Under "Table Info" I could select "InnoDB" from the dropdown. Then I cleared the caches on the CiviCRM installation and the system status came back green ("System Status: OK").
  
  Per a comment from George Lozier on another thread, the MySQL query to do the same is:
  ALTER TABLE civicrm_system_log ENGINE=InnoDB;
  
  > **Comments:**
  > **username_5**: This solution worked on 2 Bluehost shared hosting Joomla sites for me. No cache clearing was necessary. Thank you.  
  > **username_6**: For me it was not the log table but one called `civicrm_task_action_temp...`. But changing the table type worked.  
  > **username_7**: I'm a site from 4.1.0 and do not see the system_log or task_action_temp tables. What else can I try?  
  > **username_0**: @username_7 Take a look at any temporary tables (see: https://civicrm.stackexchange.com/questions/26969/temporary-table-keeps-showing-up-and-throwing-myisam-error-and-missing-log-table/27065#27065 ) -- or just go through tables one by one until you find the culprit(s).  
  > **username_7**: username_2 answer worked for me. Thanks though!  
  > **username_8**: I used this SQL query to find which table,  SELECT * FROM information_schema.TABLES WHERE ENGINE = 'MyISAM';   Then I was able it to InnoDB  Then I ran Catoghans reset /civicrm/menu/rebuild?reset=1&triggerRebuild=1  
  
  ---
  
  ### Answer by username_2 on 2016-01-28. Score: 7
  
  Sounds good. To be sure, please execute ///civicrm/menu/rebuild?reset=1&triggerRebuild=1 which fixes the trigger and function definitions in the database.
  
  
  ---
  
  ### Answer by username_3 on 2016-09-12. Score: 3
  
  Single command to update all tables is:
  
  SELECT CONCAT('ALTER TABLE ', TABLE\_SCHEMA, '.', TABLE\_NAME, ' engine=InnoDB;')
  FROM information\_schema.TABLES WHERE ENGINE = 'MyISAM';
  
  
  ---
  
  ### Answer by username_4 on 2016-09-12. Score: 1
  
  I had the issue which kept recurring - traced it to an extension that I use for exporting to excel - was creating the temp file in MyISAM - removed the extension and the issue went away.
  
  
  ---
  
  