Probleme beim MySQL Dump mit nicht existierenden Nutzern

Unter Linux kann man mittels

mysqldump -u root -p<Passwort> --all-databases --result-file=dump.sql

alle MySQL Datenbanken in eine SQL Datei sichern. Allerdings kann es unter Umständen passieren, das man folgende Meldung bekommt:

mysqldump: Got error: 1449: The user specified as a definer ('u123456789'@'%') does not exist when using LOCK TABLES

Ein Workarround wäre es das ganze mit dem Parameter „–lock-tables=false“ aufzurufen:

mysqldump -u root -p<Passwort> --all-databases --result-file=dump.sql

Allerdings behandelt dies nur die Symptome. Um das Problem zu lösen wird im ersten Schritt der fehlende Nutzer angelegt.

GRANT ALL ON *.* TO 'u123456789'@'%' IDENTIFIED BY 'passwort';

Meist ist ein View oder eine Storaged Procedure in welcher der nicht existierende Nutzer definiert wurde, wie in diesem Beispiel:

ALTER ALGORITHM=UNDEFINED DEFINER=`u123456789`@`%` SQL SECURITY DEFINER VIEW `mana_v_online_chars` AS select `l`.`char_id` AS `char_id`,`l`.`login_date` AS `login_date`,`c`.`user_id` AS `user_id`,`c`.`name` AS `name`,`c`.`gender` AS `gender`,`c`.`level` AS `level`,`c`.`map_id` AS `map_id` from (`mana_online_list` `l` join `mana_characters` `c` on((`l`.`char_id` = `c`.`id`)))

Nachdem der View korrigiert wurde, in dem dort ein gültiger Nutzer angegeben wurde, kann der temporär angelegte Nutzer entfernt werden.

Probleme mit MacPorts unter Mavericks

Wer sein Mac OS X auf Mavericks aktualisiert hat und MacPorts benutzt, wird dieses danach erst einmal nicht mehr benutzen können. Wenn man versucht es doch zu benutzen, bekommt man eine Fehlermeldung zu sehen:

--->  Extracting gperf
Error: org.macports.extract for port gperf returned: command execution failed
Please see the log file for port gperf for details:
    /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_gperf/gperf/main.log
Error: Problem while installing gperf
Error: Unable to execute port: upgrade xz failed

Das Problem liegt an der fehlenden Datei „/usr/bin/gnutar“ – die Lösung ist relativ simpel. Es reicht MacPorts mit dem entsprechenden Installer neu zu installieren. Danach sollte es wieder ohne Probleme funktionieren.

Weitere Informationen gibt es unter:
https://trac.macports.org/wiki/MavericksProblems

Probleme mit Themes und Multisite-WordPress

Nachdem ich in einer Multisite-Wordpress Installation das Theme gewechselt hatte, zeigte die entsprechende Seite sowohl im Front- als auch im Backend nur noch eine weiße Seite an. In den PHP Logmeldungen waren auch keine Probleme zu erkennen. Andere Seiten der Installation funktionierten weiterhin ohne Probleme.

Das alte Theme wurde entfernt

Das alte Theme wurde entfernt

Bei einer Multisite-Installation deutet dies meist auf ein Problem mit dem verwendeten Theme hin. Zur Lösung sollte das aktivierte Theme über die Netzwerkverwaltung deinstalliert werden. Anschließend kann man sich wieder in das Backend der Seite einloggen und dort auf ein anderes Theme wechseln.

PHP JSON unter Ubuntu 13.10

Seit der neuen Ubuntu-Version Saucy Salamander (13.10) befindet sich die JSON Unterstützung für PHP nicht mehr im Standard-PHP-Paket. Aus diesem Grunde muss das ganze mittels:

apt-get install php5-json

nachinstalliert werden. Nach einem Neustart des PHP-Service (in diesem Fall der FastCGI Variante):

service php-fpm restart

kann die PHP JSON Unterstützung unter Ubuntu 13.10 genutzt werden.

Probleme mit dem Chrome Präsentationsmodus unter Mac OS X

Unter Mac OS X gibt es in den aktuellen Versionen des Browser Chrome einen nervigen Bug. Wenn man den Vollbildmodus aktiviert, kann es passieren, das Chrome in den Präsentationsmodus schaltet. Dieser lässt sich dann nicht einfach per Escape, sondern nur mit der entsprechenden Tastenkombination (Shift + Cmd + F) beenden.

Chrome

Chrome

Bei dem Fehler scheint es sich um einen Regresionsfehler zu handeln, wie der entsprechende Bugreport zeigt. Leider scheint es im Moment keinen Workarround zu geben, so das man hier auf eine fehlerbereinigte Version warten muss. In der Zwischenzeit sollte man sich obige Tastenkombination merken.