Problem
Falls ihr größere Backups habt, welche z.B. mit mysqldump erstellt wurden, so kann der komplette Import schon mal einige Minuten dauern. Was die Meisten nicht wissen ist, dass der Import solcher mit mysqldump erstellten Backup Dateien viel länger dauert.
How Can I Speed Up This Process?
Bei setzen der folgenden Flags vor dem Import im Datenbank Dump, kann die Importzeit dramatisch verkürzt werden:
SET autocommit=0;
SET unique_checks=0;
SET foreign_key_checks=0;
Wenn der auto-commit deaktiviert wurde muss am Ende ein manueller commit erfolgen:
COMMIT;
Durch deaktivieren der unique checks und foreign key kann einiges an Geschwindigkeit heraus geholt werden.
Mit dem folgenden Bash-Script könnt ihr das Szenario automatisieren:
#!/bin/bash
echo "SET autocommit=0;
SET unique_checks=0;
SET foreign_key_checks=0;" > backup.sql
mysqldump -u myuser --password=mypassword mydatabase >> backup.sql
echo "COMMIT;" >> backup.sql
Wenn ihr beim Import eines MySQL-Datenbank-Dumps folgende Fehlermeldung erhaltet:
ERROR 2006 (HY000) at line XXX: MySQL server has gone away
dann könnt ihr das durch setzen der “max_allowed_packet = 1M” von 1MB zu “max_allowed_packet = 32M” lösen.
und zwar unter dem Abschnitt mysqld in der my.ini, also:
[mysqld]
max_allowed_packet=32M
35 wirklich hilfreiche PHP Tutorials and Techniken für Entwickler. Themen sind neben PHP auch JQuery, MySQL, CSS und alles was das Web-Entwickler-Herz begehrt. Hier geht es zum Link.
Zur grafisch Erstellung einer MySQL Datenbanken wird das kostenlose Programm MySQL Workbench bereit gestellt. Ebenfalls ist Reverse Engineering möglich, ihr könnt ein Datenbankmodel aus einer bestehenden Datenbank Tabelle generieren und editieren.
Ihr habt bereits eine Tabelle die ihr anpassen möchtet? Kein Problem, neben dem editieren um z.B. Erweiterung einzubauen, könnt ihr Fremdschlüsseln zuweisen. Nach dem laden der Datenbank habt ihr sofort euer Datenbankmodel und könnt dieses Bequem mit einer grafischen Oberfläche erweitern. Die Fremdschlüssel werden so gar automatisch durch das Setzen von Verbindungen generiert.
MySQL Workbench
Gelegentlich erhaltet ihr MySQL-Errors bei einem Repair von Tabellen … hier findet ihr eine kurze Übersicht einiger Error-Codes sowie Hinweise zum lösen. Anhand der Error-Codes kann z.B. abgeleitet werden ob der Fehler von einem defekten Datei-System hervor geht, es gar ein MySQL-Bug ist oder ähnlich. Nicht verzweifeln, sondern genau die Fehler-Codes analysieren!
Hier findet ihr ein paar nützliche Cheet-Sheets für Web-Entwickler für HTML, XHTML, CSS, Apache, mod_rewrite, reguläre Ausdrücke, Java-Script, MySQL, Smarty und Jquery.
KategorienMySQL, PHP, Programmierung, Webserver, Zend Tags: apache, Cheet Sheets, css, html, java-script, jquery, mod_rewrite, MySQL, reguläre Ausdrücke, Smarty, Web-Entwickler, xhtml
Notice: Undefined index: 0 in /var/www/…/httpdocs/app/code/core/Mage/Core/Model/Mysql4/Config.php on line 92
#0 /var/www/…/httpdocs/app/code/core/Mage/Core/Model/Mysql4/Config.php(92): mageCoreErrorHandler(8, ‘Undefined index…’, ‘/var/www/…’, 92, Array)
#1 /var/www/…/httpdocs/app/code/core/Mage/Core/Model/Config.php(268): Mage_Core_Model_Mysql4_Config->loadToXml(Object(Mage_Core_Model_Config))
#2 /var/www/…/httpdocs/app/code/core/Mage/Core/Model/App.php(263): Mage_Core_Model_Config->init(Array)
#3 /var/www/…/httpdocs/app/Mage.php(434): Mage_Core_Model_App->init(”, ‘store’, Array)
#4 /var/www/…/httpdocs/app/Mage.php(455): Mage::app(”, ‘store’, Array)
#5 /var/www/…/httpdocs/index.php(79): Mage::run(”)
#6 {main}
Ihr habt ein Magento-Backup wieder in eine Datenbank importiert und bekommt beim Aufruf des Shops über das Front-End eine ähnliche Fehlermeldung?
Magento speichert bei der Installation die Website-IDs in die Datenbank mit der ID 0. Bei dem Import oder der Übertragung der Datenbank in eine Andere ist ggf. aus der ID 0 für den Admin-Teil der Website eine 2 geworden (so bei uns im aktuellen Fall).
Ändert ihr nun in der Tabelle core_website und core_store die website_id des Datensatzes mit dem Code admin zurück in eine 0, so ist der Fehler behoben.
Unabhängig davon auch beim Import den Fremdschlüssel-Check deaktivieren wie diesem Artikel beschrieben.
KategorienMagento, MySQL Tags: datenbank, datenbank import, debug ausgabe, e-commerce, ecommerce, Magento, magento fehler, MySQL, phpmyadmin, shop, webshop
Solltet ihr bei der Zend Server Installation unter Windows Vista die Fehlermeldung “Error: -1622 Beim Öffnen der Datei des Installationsprotokolls ist ein Fehler aufgetreten. … ” oder auf engl. “Error -1622 Error opening installation log file. Verify that the specified log file location exists and that you can write to it.” erhalten, hier die Lösung.
Das Problem liegt wahrscheinlich in der Vorkonfiguration des NTFS “junction points”.
Zur Lösung des Problems einfach folgende Schritte ausführen:
- Eingabeaufforderung unter Vista öffnen (Windows-Taste + R)
- Den Tast (Eingabeaufforderung) mit Administrator-Rechten öffnen (rechter klick auf die cmd.exe im Start-Menu und “Als Administrator ausführen” wählen)
- In der Eingabeaufforderungen (CMD-Box) gebt ihr ‘echo %ALLUSERSPROFILE%’ ein. Die Ausgabe sollte als junction point der Profile “Application Data” anzeigen, in diesem Fall könnt ihr die restlichen Schritte überspringen. Ist die Ausgabe “C:\ProgramData” so könnt ihr dies wie folgt ändern:
- Gebt ‘cd \ProgramData’ ein und wechselt
- Löscht den Ordner ‘rmdir “Application Data”‘ (das entfernt den falschen junction point).
- Verlinkt den junction point neu mit ‘mklink /j “Application Data” C:\ProgramData’
- Zend Server erneut installieren
KategorienWebserver, Zend Tags: entwicklung, fehlermeldung installation, Installationsprotokolls, lösung, MySQL, problem, Webserver, Zend, zend framework, zend server, ZendServer
Der Import eines Datenbank-Dumb von Magento bricht mit einer Fehlermeldung ab oder wird nicht vollständig importiert?
Dafür gibt es eine Lösung, und zwar schreibt ihr an den Anfang der Import-Datei die Zeile
– add this above the first line
SET FOREIGN_KEY_CHECKS = 0;
sowie als letzte Zeile
– add this below the last line
SET FOREIGN_KEY_CHECKS = 1;
Danach sollte der Import problemlos möglich sein, da ihr die Fremdschlüssel-Überprüfung während des Imports deaktiviert habt um die Tabellen in beliebiger Reihenfolge zu importieren. Außerdem wird der Import beschleunigt
KategorienMagento, MySQL Tags: datenbank, datenbank import, datenbank import error, e-commerce, ecommerce, fremdschlüssel, import fehler, Magento, magento datenbank importieren, MySQL, SET FOREIGN_KEY_CHECKS