Magento: Add admin user with MySQL statement in the database

4. April 2016 at 11:34

sql-statement-mysql

This script quickly adds a Magento Admin user directly into the database. It is possible to run this script from the command line or by copying and pasting into phpMyAdmin. Just make sure to edit the following fields with your personalized data and import. Most of these fields are trivial, I’m just listing them so you don’t miss anything.

Set the salt portion of your password. You’ll rarely need to change this. If you do, just use two lower case letters of your choice.
Set your password. At least 8 characters in length and at least one digit.
Firstname: Enter admin’s first name.
Lastname: Enter admin’s last name.
Enter email of admin user.
Enter username where ‘myuser’ is set. Notice ‘myuser’ shows up in two places.
Enter Firstname again. This is more symbolic to label the rule.

LOCK TABLES `admin_role` WRITE , `admin_user` WRITE;
SET @SALT = "rp";
SET @PASS = CONCAT(MD5(CONCAT( @SALT , "password") ), CONCAT(":", @SALT ));
SELECT @EXTRA := MAX(extra) FROM admin_user WHERE extra IS NOT NULL;
INSERT INTO `admin_user` (firstname,lastname,email,username,password,created,lognum,reload_acl_flag,is_active,extra,rp_token_created_at)
VALUES ('Firstname','Lastname','email@example.com','myuser',@PASS,NOW(),0,0,1,@EXTRA,NOW());
INSERT INTO `admin_role` (parent_id,tree_level,sort_order,role_type,user_id,role_name)
VALUES (1,2,0,'U',(SELECT user_id FROM admin_user WHERE username = 'myuser'),'Firstname');
UNLOCK TABLES;

Please share this article von facebook & google plus or where you want, thank you!

Magento: A foreign key constraint fails when reindex – Solution

30. März 2016 at 14:08

magento-sql-query-to-delete-the-categories

Just execute the query in the database.

SET FOREIGN_KEY_CHECKS = 0;
TRUNCATE TABLE `catalog_product_bundle_option`;
TRUNCATE TABLE `catalog_product_bundle_option_value`;
TRUNCATE TABLE `catalog_product_bundle_selection`;
TRUNCATE TABLE `catalog_product_entity_datetime`;
TRUNCATE TABLE `catalog_product_entity_decimal`;
TRUNCATE TABLE `catalog_product_entity_gallery`;
TRUNCATE TABLE `catalog_product_entity_int`;
TRUNCATE TABLE `catalog_product_entity_media_gallery`;
TRUNCATE TABLE `catalog_product_entity_media_gallery_value`;
TRUNCATE TABLE `catalog_product_entity_text`;
TRUNCATE TABLE `catalog_product_entity_tier_price`;
TRUNCATE TABLE `catalog_product_entity_varchar`;
TRUNCATE TABLE `catalog_product_link`;
TRUNCATE TABLE `catalog_product_link_attribute`;
TRUNCATE TABLE `catalog_product_link_attribute_decimal`;
TRUNCATE TABLE `catalog_product_link_attribute_int`;
TRUNCATE TABLE `catalog_product_link_attribute_varchar`;
TRUNCATE TABLE `catalog_product_link_type`;
TRUNCATE TABLE `catalog_product_option`;
TRUNCATE TABLE `catalog_product_option_price`;
TRUNCATE TABLE `catalog_product_option_title`;
TRUNCATE TABLE `catalog_product_option_type_price`;
TRUNCATE TABLE `catalog_product_option_type_title`;
TRUNCATE TABLE `catalog_product_option_type_value`;
TRUNCATE TABLE `catalog_product_super_attribute_label`;
TRUNCATE TABLE `catalog_product_super_attribute_pricing`;
TRUNCATE TABLE `catalog_product_super_attribute`;
TRUNCATE TABLE `catalog_product_super_link`;
TRUNCATE TABLE `catalog_product_enabled_index`;
TRUNCATE TABLE `catalog_product_website`;
TRUNCATE TABLE `catalog_category_product_index`;
TRUNCATE TABLE `catalog_category_product`;
TRUNCATE TABLE `cataloginventory_stock_item`;
TRUNCATE TABLE `cataloginventory_stock_status`;
TRUNCATE TABLE `cataloginventory_stock`;
INSERT INTO `catalog_product_link_type`(`link_type_id`,`code`) VALUES (1,'relation'),(2,'bundle'),(3,'super'),(4,'up_sell'),(5,'cross_sell');
INSERT INTO `catalog_product_link_attribute`(`product_link_attribute_id`,`link_type_id`,`product_link_attribute_code`,`data_type`) VALUES (1,2,'qty','decimal'),(2,1,'position','int'),(3,4,'position','int'),(4,5,'position','int'),(6,1,'qty','decimal'),(7,3,'position','int'),(8,3,'qty','decimal');
INSERT INTO `cataloginventory_stock`(`stock_id`,`stock_name`) VALUES (1,'Default');
TRUNCATE TABLE `catalog_product_entity`;
SET FOREIGN_KEY_CHECKS = 1;

Please share this article von facebook & google plus or where you want, thank you!

MySQL Query Sammlung / MySQL Query Library

8. April 2015 at 17:34

sql-statement-mysql

Some MySQL Querys which you need by the programming with php / mysql or  magento:

MySQL Update with sub-select: Update a value of an option, e.g. „price“, where option-name is like „optionname“

UPDATE catalog_product_option_type_price t1
SET t1.price='30'
WHERE t1.option_type_id in (SELECT option_type_id FROM catalog_product_option_type_title WHERE `title` like '%optionname%');

Other example with an own table where are not all product_id’s imported and must be updated by sku

UPDATE mypharmacy_stock_statistical_data t2,
(   SELECT entity_id,sku
    FROM catalog_product_entity
) t1
SET t2.product_id = t1.entity_id
WHERE t1.sku=t2.sku

Please share this article von facebook & google plus or where you want, thank you!

MySQL: Doppelte Datensätze finden

6. Februar 2014 at 17:44

Ihr müsste doppelte Datensätze innerhalb einer MySQL-Tabelle finden?

Das folgende SQL-Query hilft euch dabei (in spalte 1 werden doppelte Datensätze gesucht):

<code>SELECT COUNT(*) AS COUNT, spalte1, spalte2 FROM tabelle
GROUP BY spalte1 HAVING COUNT(*)>1;
</code>

Wenn euch der Tipp geholfen hat, bitte diesen Artikel auch bei Google+ und Facebook teilen, danke für euren Support!

Magento: Admin_User Passwort per SQL in der Datenbank ändern

10. Januar 2013 at 11:19

Mit dem folgenden SQL-Update-Script ist es möglich das Passwort eines Admin_Users direkt in der Datenbank zu ändern.

Dabei ist zu beachten, dass der String „qX“ nicht geändert werden kann, den String „password“ mit dem neuen Passwort ersetzen.

UPDATE admin_user SET password=CONCAT(MD5('qXpassword'), ':qX') WHERE username='admin';

 

 

Mysql: ibdata zu groß – Daten aufteilen mit „innodb_file_per_table“

8. Januar 2013 at 11:17

Per Standard Konfiguration des mySql-Servers, werden alle Daten aus allen Datenbanken, in eine einzige Datei Namens „ibdata“ im mysql-data-ordner geschrieben. Diese Datei wächst kontinuierlich, auch beim löschen von Datenbanken bleibt die Größe erhalten (schrumpfen nicht möglich).

In der Praxis ist das nicht gerade optimal, lösen könnt ihr dieses Problem durch hinzufügen des Eintrages „innodb_file_per_table“ in der my.ini bzw. my.cnf im [mysqld]-Abschnitt der Konfigurations-Datei. Danach werden (Server-Neustart) jeweils pro Datenbank entsprechende ibdata-files angelegt, diese können dann auch beim löschen einer Datenbank mit gelöscht werden.

ZendFramework: Datenbankabfrage / SQL Abfrage mit ZendFramework & Magento

15. Juli 2011 at 14:38

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 at 17:22

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

MySQL Backup schneller importieren

24. August 2010 at 18:08

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

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

1. Juli 2010 at 16:56

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