Thread: Administrative and Maintenance Tools - MyISAM 2 InnoDB - Changes tables engine from MyISAM to InnoDB
View Single Post
  #21  
Old 01-20-2019, 02:21 PM
masterross's Avatar
masterross masterross is offline
 
Join Date: Nov 2005
Location: Bulgaria
Posts: 315
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

A little update of the script on vb 4.2.x:


PHP Code:
<?php
error_reporting
(E_ALL & ~E_NOTICE);
define('THIS_SCRIPT''cv');
define('CSRF_PROTECTION'false);
require_once(
'./global.php');
function 
change_table_engine($engine_from$engine_to$show_output false$test_mode false)
{
      global 
$vbulletin;
      
$engine_from_lc strtolower($engine_from);
      
$engine_to_lc strtolower($engine_to);
      
$tables $vbulletin->db->query_read("SHOW TABLE STATUS");
      while(
$temp $vbulletin->db->fetch_array($tables))
      {
            if(
strtolower($temp['Engine']) == $engine_from_lc AND $temp[Name] != 'vb_language' AND $engine_from_lc != $engine_to_lc AND !in_array(strtolower($temp['Engine']), array('heap''memory')))
            {
                  if(
$show_output)
                  {
                        print 
"Alter Engine of table: $temp[Name] - $temp[Engine] to $engine_to<br />\n";
                        
vbflush();
                  }
                  if(!
$test_mode)
                  {
                        
$vbulletin->db->query_write("ALTER TABLE " "{$temp[Name]} ENGINE = $engine_to");
                  }
            }
      }
}
change_table_engine('MyISAM''InnoDB'true);
?>
In this way it will exclude vb_language as it should stay in MyISAM.


Aldo this script should be run in AdminCP, not the root!
And if you have some big tables you should manually convert them trough shell console and after that run the script.


Regards!
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01138 seconds
  • Memory Usage 1,791KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_php
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • showpost_complete