Banner - Blog zu den Themen Programmierung, SEO, SEM, Social Media, Internet Marketing, Webdesign, IT-Service und Mehr - SEO Hannover - IT-Dienstleistungen und SEO Agentur Fly2Mars-Media.de

Archiv

Artikel Tagged ‘MySQL’

ZendFramework: Datenbankabfrage / SQL Abfrage mit ZendFramework & Magento

Mit dem folgenden Code-Schnippsel könnt ihr einfach eine sql-abfrage über zend in magento starten.

More information: framework.zend.com/manual/de/zend.db.select.html

$table = array('table_name);
$selectCol = array('table_id' , 'col_two');
$where = 'col_two >= ?';  // ? wird ersetzt mit zweitem wert in der where bedingung
$order = '';
$connection = Mage::getSingleton('core/resource')->getConnection('core_read');
$select = $connection->select()
->from($table, $selectCol)
->where($where, $this->lastExportDate)
->order($order);
echo $select->__toString();  // die komplette sql-abfrage ausgeben lassen
$result = $connection->fetchAll($select);

 

 

Magento / Import in MySQL 5.0 – USING BTREE Error

19. November 2010 2 Kommentare

Wenn ihr ein MySQL-Datenbank-Dump in eine MySQL 5.0 importieren möchtet welche mit mysqldump auf einer 5.1 erzeugt wurde, dann bekommt ihr höchstwahrscheinlich eine Fehlermeldung wie die folgende:

Der Grund ist dass die key syntax von 5.0 auf 5.1 wie folgt geändert wurde:
mysql50
UNIQUE KEY IDX_BASE( entity_type_id, entity_id, attribute_id, store_id ) USING BTREE,
mysql51
UNIQUE KEY IDX_BASE USING BTREE ( entity_type_id, entity_id, attribute_id, store_id ),

Leider gibt es kein aktuellen Kompatabilitäts-Modus like –comptability=mysql50 in mysqldump.
Es kann zwar mysqldump –comptability=mysql40 benutzt werden, allerdings auf eigene Gefahr ;-)

Mit dem folgenden Befehl könnt ihr in der Bash den dump vor dem Import bereinigen (benutzt das consolen-programm “sed”):

sed -i -r 's/\(([^)]+)\) USING BTREE/USING BTREE (\1)/g' magento.sql
KategorienMagento, MySQL Tags: , ,

MySQL Backup schneller importieren

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
KategorienMySQL Tags: , , ,

MySQL Datenbank Import ERROR 2006 (HY000) – MySQL Server has gone away – Lösung

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
KategorienMySQL Tags: , , ,

35 wirklich hilfreiche PHP Tutorials and Techniken für Entwickler

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.

Reverse Engineering mit MySQL Workbench MySQL Workbench

23. Dezember 2009 Keine Kommentare

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

MySQL Repair – Error Codes

12. November 2009 Keine Kommentare

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!

Cheet Sheets für Web-Entwickler

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.

Magento: Nach Datenbank-Import Fehlermeldung im Front-End

22. Oktober 2009 1 Kommentar

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.

ZendServer Installation Problem – Lösung

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