MySQL

Beispiel und Anleitungen rund um MySQL

nginx_logo_klein2

Rewrite-Rules: Apache vs Nginx

1

Bei dem Apache Webserver wird das URL-Handling (Rewrite-Rules) via .htaccess gesteuert, sobald sich eine Datei mit diesem Namen in einem Verzeichnis befindet, werden die darin enthaltenen Befehle vom Apache umgesetzt. Da dieses Verfahren jedoch voraussetzt, dass alle Verzeichnisse zuvor auf eine solche Datei geprüft, diese anschließend eingelesen und verarbeitet werden muss, macht es Sinn wie z.B. beim Nginx Webserver diese in die Konfiguration des Webs aufzunehmen. Leider ist die Syntax und Logik dieser beiden Rewrite-Rules nicht kompatibel, daher folgt eine Einführung in dieses Thema … außerdem habe ich auf github.com/voku/ meine kompletten Konfigurationsdaten für Nginx + PHP + MySQL hochgeladen.

 

Erklärung: einfache Weiterleitung

 

Apa­che:

Redirect More >

MySQL: Zahl in Datum umwandeln

1

Falls jemand mal z.B. einen Int-Wert in ein Datum umwandeln muss, kann “CONVERT” bzw. “CAST” weiterhelfen. Auch wenn man eigentlich die Datenbank im Vorhinein so gestalten sollte, dass “date” / “datetime” / … / als Datentyp verwendet wird.

 

Beispiel-Datenbank: CREATE TABLE `lall` ( `Id` int(11) NOT NULL AUTO_INCREMENT, `IntDate` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`Id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

INSERT INTO `lall` VALUES (1,201001); INSERT INTO `lall` VALUES (2,201002); INSERT INTO `lall` VALUES (3,201003); INSERT INTO `lall` VALUES (4,0); INSERT INTO `lall` VALUES (5,201011); INSERT INTO `lall` VALUES (6,201012); INSERT INTO `lall` VALUES (7,201205);

SQL: SELECT * FROM lall WHERE ((CONVERT(CONCAT(IntDate, '01'), datetime))>NOW() - INTERVAL 12 MONTH OR IntDate=0) More >

perror – Explain Error Codes für MySQL in der Shell

1
for i in `seq 1 180`; do perror ${i}; done | less

Info: http://dev.mysql.com/doc/refman/5.0/en/perror.html

 

Ausgabe:

OS error code 1: Operation not permitted OS error code 2: No such file or directory OS error code 3: No such process OS error code 4: Interrupted system call OS error code 5: Input/output error OS error code 6: No such device or address OS error code 7: Argument list too long OS error code 8: Exec format error OS error code 9: Bad file descriptor OS error code 10: No child processes OS error code 11: Resource temporarily unavailable OS error code 12: Cannot allocate memory OS error code 13: Permission denied OS error code 14: Bad address OS error code 15: Block device required OS error code 16: Device or resource More >

MySQL-Server optimieren

10
Zurück zur “Webseiten beschleunigen” – Übersicht 7.) MySQL optimieren cd /root wget http://mysqltuner.com/mysqltuner.pl wget http://www.day32.com/MySQL/tuning-primer.sh chmod +x mysqltuner.pl chmod +x tuning-primer.sh ./mysqltuner.pl ./tuning-primer.sh

Link: rackerhacker.com/mysqltuner/ – mysqltuner www.day32.com/MySQL/ – tuning-primer

Beispiel:

Wenn wir unserem MySQL-Server z.B. 64 MB zur Verfügung stellen möchten ->

key_buffer = 12M + (read_buffer = 4M + sort_buffer = 4 M) x max_connections = 64 MB

12 + (4 + 4) x max_connections = 64

Formel nach max_connections umstellen

max_connections = (RAM – key_buffer) : (read_buffer + sort_buffer)

max connections = (64 – 12) : (4 + 4)

max_connections = 52 : 8

max_connections = 6,5

benötigen wir mehr als 6,5 max_connections, müssen wir More >

tacho

Webseiten beschleunigen – Übersicht

8

Der Artikel beschreibt, wie man seine Webseite bzw. seinen Server analysiert und optimiert um Performance zu gewinnen, Ladezeit zu reduzierten bzw. Traffic einzusparen. Man kann einiges an Performance gewinnen, indem man z.B. Bilder im richtigen Format abspeichert bzw. komprimiert, CSS- / JS-Dateien kombiniert und ebenfalls komprimiert oder auch bestimmt Daten vorkomprimiert zur Verfügung stellt.

1.) Webseiten Analyse 1.1) Webseiten Benchmark

2.) Komprimierung 2.1) Bilder komprimieren 2.1.1) Bilder Sprites 2.1.2) PNG-Bilder komprimieren 2.1.3) JPEG-Bilder komprimieren 2.1.4) Bilder komprimieren – Online 2.2) JavaScript/CSS komprimieren 2.2.1) JavaScript/CSS komprimieren – serverseitig 2.2.2) JavaScript/CSS komprimieren – Online 2.3) Apache gzip-Kompression 2.3.1) Aktiviere More >

greenSQL

GreenSQL – MySQL Firewall

0
Was ist eine MySQL Firewall und wie funktioniert dies?

GreenSQL ist eine Open-Source-Datenbank-Firewall, um Datenbanken von SQL-Injection-Attacken zu schützen. Diese arbeitet als Proxy für SQL-Kommandos und hat eine eingebaute MySQL Unterstützung. Die Logik beruht auf der Auswertung von SQL-Befehlen, mit Hilfe eines Scoring-Risiko-Matrix sowie Sperrung bekannt db Verwaltungs-Befehle.

GreenSQL arbeitet als Reverse Proxy für MySQL-Verbindungen. Dies bedeutet, dass du dich anstatt direkt mit den MySQL-Server, zuvor mit GreenSQL verbindest. GreenSQL analysiert die SQL-Abfragen und wenn sie sicher sind, werden diese an den MySQL-Server durch-gereicht.

greenSQL

HowTo: Wie installiere ich die MySQL Firewall?

1. Download der Software

Das passende Paket von dieser Webseite More >

Capture - libtcmalloc

MySQL-Server beschleunigen

0

Nutze Google’s perftools um die Geschwindigkeit deines MySQL-Server zu erhöhen.

Das Google Perftools, insbesondere tcmalloc (Thread Caching Malloc), kann helfen z.B. den MySQL-Server zu beschleunigen…

TCMalloc ist schneller als die glibc 2.3 malloc (Wiki). Die Geschwindigkeitsvorteile durch die verbesserte Speicherzuordnung, kannst du wie folgt in MySQL integrieren.

Vorausgesetzt du nutzt Debian 5 (Lenny) oder neuer… fügen wir als erstes neue Repositories in der sources.list ein.

echo 'deb http://dotdeb.netmirror.org/ stable all' >> /etc/apt/sources.list echo 'deb-src http://dotdeb.netmirror.org/ stable all' >> /etc/apt/sources.list

und aktualisieren ggf. den MySQL-Server auf Version 5.1

apt-get update aptitude install mysql-server-5.1 aptitude install libtcmalloc-minimal0

Seit den More >

logoMysql

MySQL root Passwort zurücksetzen

2

Wer sein root MySQL-Server Passwort vergessen hat, kann es mit folgendem HowTo wieder zurücksetzen…

füge folgenden Inhalt in eine neue Datei ein… ->

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MeinNeuesPasswort');"

nun müssen wir den MySQL-Server stoppen ->

/etc/init.d/mysql stop

und den MySQL-Server mit dem neuen Passwort starten ->

mysqld_safe --init-file=/PFADZUMFILE/FILE

nun nur noch ein restart des MySQL-Servers und Fertig…

/etc/init.d/mysql restart

alternativ kann man dies auch umgekehrt machen…

wir müssen den MySQL-Server wieder stoppen ->

/etc/init.d/mysql stop

dann den MySQL Daemon im safe-Mode starten ->

mysqld_safe --skip-grant-tables

per root in MySQL einloggen… ->

mysql --user=root mysql

und folgende Kommandos ausführen ->

UPDATE USER SET More >
Go to Top