✅ WEB- und WordPress-Nachrichten, Themen, Plugins. Hier teilen wir Tipps und beste Website-Lösungen.

Ein einfaches PHP-Befehlszeilentool zum Konvertieren von MySQL-Tabellen von MyISAM in InnoDB in einer bestimmten Datenbank

14

Die MySQL MyISAM-Datenbank-Engine wurde in der neuesten Version seit 5.5.1 abgeschrieben. MyISAM sperrt Tabellen, während InnoDB (seit 5.5.1 jetzt die Standard-Datenbank-Engine für MySQL) das Schaukeln auf Zeilenebene verwendet. InnoDB sollte die bevorzugte und empfohlene Datenbank-Engine sein, wenn Sie neue Anwendungen/Tabellen erstellen möchten. Ein Manko von MyISAM-Tabellen ist, dass sie keine Transaktionen unterstützen. Sowohl InnoDB als auch MyISAM unterstützen den Volltextsuchindex.

Sie können ALTER TABLE table ENGINE=INNODB verwenden, um eine Tabelle in InnoDB umzuwandeln, aber wenn Sie viele Tabellen in einer Datenbank haben, z. B. WordPress, wird es mühsam, nach MyISAM-Tabellen zu suchen und eine nach der anderen zu konvertieren.

Glücklicherweise kann das folgende PHP auf der Befehlszeile ausgeführt werden und nimmt Parameter von Datenbanknamen entgegen – die Sie an viele Datenbanken übergeben können, und es sucht in diesen Datenbanken nach den Tabellen, die derzeit MyISAM-Engine sind, und gibt einen Befehl ALTER TABLE aus jeder von ihnen.

Beispielnutzung:

# php convert_to_innodb.php wordpress ConvertAllTablesToInnoDB wordpress... ALTER TABLE `wp_commentmeta` ENGINE=INNODB ALTER TABLE `wp_comments` ENGINE=INNODB ALTER TABLE `wp_icl_string_translations` ENGINE=INNODB ALTER TABLE `wp_imagify_files` ENGINE=INNODB ALTER TABLE `wp_imagify_folders` ENGINE=INNODB ALTER TABLE `wp_itsec_lockouts` ENGINE=INNODB ALTER TABLE `wp_itsec_log` ENGINE=INNODB ALTER TABLE `wp_itsec_temp` ENGINE=INNODB ALTER TABLE `wp_links` ENGINE=INNODB ALTER TABLE `wp_options` ENGINE=INNODB ALTER TABLE `wp_postmeta` ENGINE=INNODB ALTER TABLE `wp_posts` ENGINE=INNODB ALTER TABLE `wp_term_relationships` ENGINE=INNODB ALTER TABLE `wp_term_taxonomy` ENGINE=INNODB ALTER TABLE `wp_termmeta` ENGINE=INNODB ALTER TABLE `wp_terms` ENGINE=INNODB ALTER TABLE `wp_usermeta` ENGINE=INNODB ALTER TABLE `wp_users` ENGINE=INNODB ALTER TABLE `wp_wc_download_log` ENGINE=INNODB ALTER TABLE `wp_wc_webhooks` ENGINE=INNODB ALTER TABLE `wp_woocommerce_api_keys` ENGINE=INNODB ALTER TABLE `wp_woocommerce_attribute_taxonomies` ENGINE=INNODB ALTER TABLE `wp_woocommerce_downloadable_product_permissions` ENGINE=INNODB ALTER TABLE `wp_woocommerce_log` ENGINE=INNODB ALTER TABLE `wp_woocommerce_order_itemmeta` ENGINE=INNODB ALTER TABLE `wp_woocommerce_order_items` ENGINE=INNODB ALTER TABLE `wp_woocommerce_payment_tokenmeta` ENGINE=INNODB ALTER TABLE `wp_woocommerce_payment_tokens` ENGINE=INNODB ALTER TABLE `wp_woocommerce_sessions` ENGINE=INNODB ALTER TABLE `wp_woocommerce_shipping_zone_locations` ENGINE=INNODB ALTER TABLE `wp_woocommerce_shipping_zone_methods` ENGINE=INNODB ALTER TABLE `wp_woocommerce_shipping_zones` ENGINE=INNODB ALTER TABLE `wp_woocommerce_tax_rate_locations` ENGINE=INNODB ALTER TABLE `wp_woocommerce_tax_rates` ENGINE=INNODB ALTER TABLE `wp_wpio_images` ENGINE=INNODB ALTER TABLE `wp_yith_ywpar_points_log` ENGINE=INNODB

Es gibt einige Datenbanken, die zu MySQL gehören, zB sys, mysql – diese Tabellen haben Engine-Typen wie memory, csv – bitte konvertieren Sie sie nicht nach InnoDB.

MySQL

Das könnte Ihnen auch gefallen: PHP-Gadget zum Konvertieren von MyISAM-Tabellen in MySQL in InnoDB

Aufnahmequelle: helloacm.com

Diese Website verwendet Cookies, um Ihre Erfahrung zu verbessern. Wir gehen davon aus, dass Sie damit einverstanden sind, Sie können sich jedoch abmelden, wenn Sie möchten. Annehmen Weiterlesen