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 […]
Kategorie: MySQL
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.
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
Seit MySQL 8, bei mir in Xubuntu 19.10, gibt es eine Fehlermeldung beim Importieren von Datenbanken: …der Datenbank Import war unvollständig. Beheben kann man das mit folgendem befehl in der MySQL Konsole: …oder diesen Wert in der my.cnf anpassen.
Abfrage für PhpMyAdmin: Kompletter Code für eine Datei /etc/mysql/conf.d/myfile.cnf Anschließend: In einer MySQL Shell kontrollieren: Dank an Stackoverflow. im PHP Skript Auch Dank an Stackoverflow
auto increment Wert (nächst größeren :)): Alle Infos zu einer Tabelle:
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 […]
…darin: …darin einem User die notwendigen rechte (oder alle) geben: bzw. Hört MySQL zu? OK, dann von dem Wirts-System:
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 […]
in der /etc/mysql/my.cnf unter [mysqld] hinzu fügen. Jetzt funzts. Mache ich alles von stackoverflow funzts nich.
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 […]
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 […]