mysql Fehler – attempted to open a previously opened tablespace

Heute wollte ich ganz normal meine MAMP-Instanz starten um lokal weiter an meinem Magento 2 Shop zu arbeiten. Dabei konnte mySQL leider nicht gestartet werden. Im log stand dann der folgende Eintrag.

Nicht cool, immerhin startet mySQL dann gar nicht mehr. Meine Datenbanken hatte ich schon fast abgeschrieben. Auch, wenn es nur Entwicklungsdatenbanken sind, wäre ein Verlust doch extrem ärgerlich. Also ein wenig recherchiert und schnell auf die Lösung gekommen. Diese nennt sich „innodb_force_recovery“.

Dazu öffnet man einfach die my.cnf und fügt irgendwo unter [mysqld] den folgenden Eintrag ein:

Je höher der Wert gesetzt wird, desto wahrscheinlich ist es, dass die Datenbanken kaputt gehen! Also auf jeden Fall mit 1 starten.

Danach startet man mySQL. Sollte das klappen, wird der Dienst sofort wieder gestoppt und der Wert aus der Konfiguration entfernt. Danach kann mySQL erneut gestartet werden.

In meinem Fall war das Problem damit aus der Welt.

Weitere Details gibt es hier. Dort kann man auch nachlesen was die einzelnen Level genau tun.

Facebook-Video-Cover erstellen

Schon lange wollte ich mal ein Video-Cover bei Facebook erstellen. Ziemlich cool eigentlich 🙂 Heute habe ich mich endlich mal hingesetzt und mein bestehendes Cover durch Final Cut Pro geschoben. Folgende Einstellungen habe ich für das Cover gewählt.

Wie man sieht, sollten Videos also 820 x 462 Pixel groß sein und eine Länge zwischen 20 und 90 Sekunden haben. Also habe ich ein PNG mit meinem alten Cover und einer abgerissenen Kante erstellt und mein Intro für die Videos dahinter gelegt. Für nur 5 Minuten Arbeit sicher ein ganz gutes Ergebnis. Aber das ganze Material hatte ich ja auch schon und musste es nur noch mit einander verbinden.

Allerdings war mein Intro mit wenigen Sekunden nicht lang genug, wodurch ich es einfach mehrfach hintereinander gepackt habe. Nicht die schönste Lösung, aber das Cover läuft ja auf Facebook eh im „Loop“, wodurch die Wiederholung sowieso stattfinden würde. Weiterlesen…

Mit PHP7 auf MSSQL-Datenbanken zugreifen unter Mac OS X & MAMP

Wie der Titel schon sagt, hatte ich vor kurzem die Herausforderung, auf eine MSSQL-Datenbank zugreifen zu dürfen. Unter PHP5 war das Ganze relativ mit dem Paket php5-mssql möglich (außer unter Mac OS X). Mit PHP7 ist das mssql-Paket entfallen und wird nicht mehr entwickelt.

Also musste eine andere Lösung her. Diese nennt sich in diesem Konkreten Fall dblib. Hiermit können über PDO dann Datenbankverbindungen zu MSSQL aufgebaut werden. Unter Linux / Ubuntu war das Ganze relativ schnell eingerichtet. Jetzt mussten wir es nur noch unter Mac OS X zum laufen bekommen, um lokal auch entsprechend entwickeln zu können.

Als Basis dient hier FreeTDS, welches die grundlegende Datenbankverbindung dann öffnet. Dblib ist dabei „nur“ eine PHP-Extension, welche entsprechend mit FreeTDS kommuniziert. Soweit so gut.

Dazu hatte ein Arbeitskollege die Idee, PHP7 mit brew zu installieren, welches die entsprechende .so-Datei ebenfalls enthielt. Obwohl ich lokal unter MAMP noch auf Version 7.0.15 bin, konnte ich die .so-Datei von 7.0.19 nutzen. Diese wurde dann in das richtige Verzeichnis unter MAMP gelegt und in der php.ini geladen. Danach konnte die erste DB-Verbindung auch schon aufgebaut werden.

Klick-Tipp + Wufoo = Ein unschlagbares Team?

Seit einiger Zeit bin ich jetzt bei Klick-Tipp angemeldet. Nach ein paar Startschwierigkeiten lerne ich die Möglichkeiten immer mehr zu schätzen und habe jetzt für mich die Möglichkeit entdeckt, meine Leser über Umfragen (Wufoo) zu taggen.

Sobald sich jemand registriert startet eine Kampagne, welche meinen Lead-Magneten (ich hasse dieses Wort) den den Kunden übermittelt. In meinem Fall ist das ein Cheat-Sheet mit ein paar Befehlen von der Smart-Home-Umgebung.

Sollte sich der Leser das Freebie (besseres Wort) dann innerhalb von x Tagen heruntergeladen haben, frage ich nach Feedback und ob es geholfen hat.

Ein paar Tage später kommt dann das wichtigste für mich: Eine Mail mit einer Umfrage auf Wufoo. Über die API von Wufoo wird Klick-Tipp mit der Umfrageseite verknüpft und man kann dann anhand der Auswahlmöglichkeiten verschiedene Tags vergeben.

Das „schwerste“ war nun eigentlich, die bereits bestehenden Kontakte nicht erneut nach der Mailadresse und dem Vornamen fragen zu müssen um die Informationen zu verknüpfen. Weiterlesen…

Nächster E-Mail-Anbieter: Klick-Tipp!

Von Klick-Tipp hört man eigentlich nur Gutes. Kommt mir jedenfalls so vor. Auch wenn das Backend aussieht wie ein schnell zusammengebastelter Prototyp mit Bootstrap macht es doch einiges her. Immerhin geht es ja schließlich um die Funktionen und nicht um die Optik.

Für den start habe ich das Standard-Paket für 27 Euro netto pro Monat gewählt. Ich habe dies für eine gute Entscheidung gehalten, da ich weder soweit bin dass ich Split-Testing für E-Mails brauche, noch brauche ich erstmal einen API-Zugang und mit einem DigiStore-Produkt sollte ich ebenfalls auskommen. So der Plan.

Als erstes mussten meine ~900 Kontakte von CleverReach zu Klick-Tipp. Nun verhält es sich so, dass es bei Klick-Tipp keine Import-Funktion gibt. Dazu gibt es auch einen sehr langen Artikel von Klick-Tipp warum dies so ist (Anti-Spam) und so weiter. Kann man ja nachvollziehen.

Also habe ich meine Zugangsdaten vom alten Anbieter plus den Link zu meiner Webseite an Klick-Tipp gesendet (am Samstag 09.09. um 14:59). Ziemlich genau zwei Tage später bekam ich die Antwort, dass ich die zu importierenden Daten doch gerne per CSV schicken soll. Warum ich zuvor meine Zugangsdaten zu Klick-Tipp senden sollte (wie in der Anleitung erklärt) weiß ich nicht. Weiterlesen…

Warum ich CleverReach leider nicht empfehlen kann

CleverReach ist ein E-Mail-Marketing-Anbieter welcher da draußen ziemlich beliebt ist – also habe auch ich mich für diesen entschieden und muss nach gut einem Jahr Nutzung sagen, dass ich eher enttäuscht bin. Die Mails gehen zwar raus und mit dem Versand an sich hatte ich keine Probleme, aber das Backend hat unheimlich viele Bugs.

Ich hatte mich zum Beispiel für den Start für die Prepaid-Variante entschieden (damit ich keine CleverReach-Werbung in meinen Newslettern habe). Bezahlt hatte ich mit PayPal und alles wurde mit einer Erfolgsmeldung quittiert. Soweit so gut – nach ein paar Tagen habe ich dann eine Mail bekommen, dass noch eine Rechnung offen sei. Auf meinem PayPal-Konto war auch wirklich keine Bewegung zu sehen. Also ist die PayPal-Integration ab und zu fehlerhaft. Kann passieren, bei den weiteren Zahlungen ist dies nicht aufgefallen.

Weiter ging es dann mit den ersten „Automation THEA“ – gut, das Feature ist noch im Beta-Status, aber nach meinen Erfahrungen ist dies eher eine Pre-Alpha. Über dieses Feature kann man automatisiert Workflows abbilden. Das heißt, dass man zum Beispiel eine zweite Mail nach X Tagen hinterher schickt, wenn in der ersten Mail nichts angeklickt wurde. Ob das so geklappt hat? Keine Ahnung. Die Statistiken nach dem Mailversand sind komplett überflüssig. Weiterlesen…

fail2ban und mysql 5.7 – Filter funktioniert nicht direkt

Normalerweise legt man einfach eine neue Datei nach /etc/fail2ban/jail.d/mysql.conf, aktiviert das richtige Jail und schon funktioniert alles. Leider nicht so im Falle von mysql 5.7 – scheinbar hat sich da der Logeintrag etwas geändert. Meine Datei sieht jetzt so aus:

Und den Filter musste ich wie folgt anpassen:

Die erste Zeile habe ich dabei nicht angefasst, sondern nur die zweite hinzugefügt. Statt einer Warning erscheint bei mySQL 5.7 nur noch „Note“. Der reguläre Ausdruck ist natürlich relativ allgemein, aber funktioniert für mich wunderbar. Endlich werden die ganzen Login-Versuche auf root entsprechend geblockt.

Testen kann man das ganze wie folgt:

Bei mir sieht die Ausgabe nun so aus:

Sieht also sehr gut aus!