Kategorie: MySQL

MySQL DEFINER hell

Leider schafft es mysqldump nicht die DEFINER weg zu lassen. Dadurch kann man ein Problem mit dem DEFINER bekommen wenn man von einer anderen Maschine einen Dump einspielen will. DEFINER: DEFINER = `skip-grants user`@`skip-grants host` DEFINER = root@localhost Dazu kommen DEFINER mit dem Usernamen des Systems. Außer, im generierten Dump per „suchen & ersetzen“ die […]

MySQL 8 deterministic function

Nicht nur bei der Datenbank Wiederherstellung, auch bei Funktionen die nicht deterministisch sind. Folgende Funktion ist nicht deterministisch: Fehlermeldung bei der Erstellung: Gleiche Funktion – deterministisch: dev.mysql.com – 25.7 Stored Program Binary Logging Helfen würde auch ein: zur Erstellungszeit einer FUNCTION.

MySQL Zeugz

GROUP mit CONCAT, DISDINCT und IF NULL: Ärger mit der MySQL Installation Fehlermeldung könnte sein: This installation of MySQL is already upgraded to 5.7.36, use –force if you still need to run mysql_upgrade mehrere Leerzeichen mit einem ersetzen …seit MySQL 8

MySQL 8 root Passwort

MySQL mit skip-grant-tables starten In der /etc/my.cnf folgendes rein packen: Anschließend MySQL restarten. Ohne Passwort rein und root Passwort setzen dev.mysql.com/doc/resetting-permissions dev.mysql.com/doc/privilege-changes (FLUSH PRIVILEGES) MySQL neu starten und Passwort testen ZUERST: Das in der /etc/my.cnf auskommentieren! mysql_secure_installation dev.mysql.com/doc/mysql-secure-installation Seit MySQL 8 kann man nicht mit dem User ‚root‘ arbeiten. Darum muss ein neuer User erstellt […]

phpMyAdmin database export file name template

Meist möchte man den Dateinamen, der exportierten Datenbank, mit der aktuellen Zeit und wahrscheinlich mit dem Datenbanknamen bestücken. Default ist nur der Datenbankname mittels @DATABASE@ (auch zu ersetzen mit __DB__). Zusätzlich zu @DATABASE@ gibt es noch @TABLE@ und @SERVER@. Man kann alles verwenden was die PHP Funktion strftime() verwendet, plus beliebige andere Zeichen. Für ein […]

sql_mode = only_full_group_by on Ubuntu 16.04 MySQL

By einer Default-Installation von MySQL kann es zu folgender Fehlermeldung bei bestimmten GROUP BY geben: SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #8 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‚dbname.short.long_column_name‘ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by In […]

VARCHAR to FLOAT or INT

Benutzen INT: Benutzen FLOAT: Das schlägt fehl wenn preis z.B. 3.0 ist. oder Weiß man, dass nur das Komma (statt dem Punkt) das Problem ist, kann man mit LIKE ‚%,%‘ die Kommas umwandeln: Oder mit Regex: Anschließend mit aus den VARCHARs FLOATs machen. Bei größeren Zahlen, wie z.B. Unixtime: Um ein DE Datum (01.01.1970) in […]