Binäre Dateien

MySQL, PostgreSQL, SQLite
purado
Posts: 25
Joined: 2002-08-28 12:42

Binäre Dateien

Post by purado » 2002-12-01 14:49

Hallo,
in meinem var/lib/mysql Verzeichnis befinden sich eine ganze Menge binärer Dateien:
p1********-bin.001 etc
Teilweise sind die über 600 MB groß.
Was sind das für Dateien/Logs? Kann ich die bedenkenlos löschen? (Ich mach hin und wieder von Hand Dump-Files zur Sicherung der Daten)
Und kann ich das Anlegen dieser Dateien deaktivieren?

Danke,
Henning

sascha
RSAC
Posts: 1345
Joined: 2002-04-22 23:08

Re: Binäre Dateien

Post by sascha » 2002-12-01 15:26

Hi,

in diesen Dateien werden all deine MySQL Queries geloggt. Wenn du das nicht willst, einfach in der /etc/my.cnf die Option log-bin auskommentieren. Die Logfiles (bis auf das welches gerade benutzt wird) kannst du löschen oder Packen.

purado
Posts: 25
Joined: 2002-08-28 12:42

Danke

Post by purado » 2002-12-01 15:58

Und weg damit...

Danke :)

ice
Posts: 140
Joined: 2002-08-21 13:08

Re: Binäre Dateien

Post by ice » 2003-01-07 19:02

Man bin ich dankbar für diesen Thread. Mir wär beinahe die Pladde geplatzt.

21G in /var/lib/mysql

8O

php-tom
Posts: 35
Joined: 2002-06-28 16:48

Re: Binäre Dateien

Post by php-tom » 2003-01-09 15:18

Hmm, die Ã?nderung in der /etc/my.cnf scheint sich erst mit einem Restart des mySQL-Dämonen zu aktivieren...

Bitte, bitte sagt mir einem absoluten Linux-Laien (nicht schimpfen!), wie ich den mySQL-Dämonen neu starten kann, damit die o.g. Ã?nderung aktiv wird...

Ich werde es Euch ewig danken!

Gruss,
Thomas aus Mönchengladbach

floschi
Userprojekt
Userprojekt
Posts: 3388
Joined: 2002-07-18 08:13
Location: München

Re: Binäre Dateien

Post by floschi » 2003-01-09 16:49

Bei SuSE: rcmysql restart ?????

Bei Debian: /etc/init.d/mysql restart

Gruß

Olfi ;)

cyberline
Posts: 97
Joined: 2003-01-28 10:11
Location: Hürth

Re: Binäre Dateien

Post by cyberline » 2003-01-28 10:52

Diese Binlogs machen nur Sinn, wenn MYSQL-Replikation eingesetzt wird. Sprich man hat 2 Datenbankserver laufen die die gleichen Datenbestände haben sollen. Wer das einrichten will kann mich ja Kontaktieren.

captaincrunch
Userprojekt
Userprojekt
Posts: 7225
Joined: 2002-10-09 14:30
Location: Dorsten

Re: Binäre Dateien

Post by captaincrunch » 2003-01-28 10:53

Wer das einrichten will kann mich ja Kontaktieren.
Wie wäre es denn, wenn du mal ein bisschen was dazu zusammentipperst, und das ganze hier z.B. als HowTo posten würdest ? So hätten alle was davon ... :wink:
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc

cyberline
Posts: 97
Joined: 2003-01-28 10:11
Location: Hürth

Re: Binäre Dateien

Post by cyberline » 2003-01-28 11:40

Ok, hier mal ne schnellanleitung zum einrichten einer MYSQL Replikation:
===============================================

zuerst benötigt man, man glaube es kaum, 2 funktionierende Mysql Server am besten auf 2 Maschinen :) Es sollten auch in etwa die gleichen Versionen sein. Also mit MySql 3 und 4 funktioniert es nicht.

zunächst mal geben wir folgende Befehle auf Server A ein:


GRANT FILE ON *.* TO replicate@<IP_MASTER_SERVER> IDENTIFIED BY '<PASSWORT>';
GRANT FILE ON *.* TO replicate@<IP_SLAVE_SERVER> IDENTIFIED BY '<PASSWORT>';


(Werte in <> sind zu ersetzen)

Danach wird die my.cnf auf Server A editiert:
im [mysqld] bereich wird


log-bin
master-host=<IP_SLAVE_SERVER>
master-user=replicate
master-password=<PASSWORT>
server-id=1


eingetragen.
Jetzt benötigen wir ein Abbild der Mysql Daten von Server A.
Dazu muß zunächst MySql beendet werden.
Danach geht man in den Ordner, wo die MySql Daten liegen, meist /var/lib/mysql.
Falls log-bin schon aktiv war, löschen wir alle *.bin Files und falls existent, error logs und die Datei master.info .
mit dem Befehl

tar -czf replikation.tar.gz *

erstellen wir einen Tarball mit den Datenbanken.
Danach kann Mysql auf Server A wieder gestartet werden.

Die Datei replikation.tar.gz holen wir mit wget oder per FTP auf Server B.
Auf Server B muß zunächt Mysql beendet und der bestehende Inhalt des Datendirs von Mysql gelöscht werden. danach entpacken wir den File mit

tar -xzf replikation.tar.gz

und setzen die datei und gruppenrechte auf den des MySql users und ändern die Zugriffsrechte der Dateien rekursiv auf 660 und die der Ordner auf 770.
Auf Server B erweitern wir die my.cnf im [mysqld] bereich wie folgt:


log-bin
master-host=<IP_MASTER_SERVER>
master-user=replicate
master-password=<PASSWORT>
server-id=2


Wenn man nun auf Server B MySql wieder startet sollten die beiden Server sich gegenseitig Ihre Datenbestände updaten.

eine Entsprechende PHP Funktion zum nutzen der Replikation hat der Autor auch vorgesehen:


<?
/********************************************************
function db_connect_plus()

returns a link identifier on success, or false on error
********************************************************/
function db_connect_plus(){
$username = "<MYSQL_BENUTZER>";
$password = "<MYSQL_PASSWORT>";
$primary = "<IP_MASTER_SERVER>";
$secondary = "<IP_SLAVE_SERVER>";
$timeout = 15; // timeout in seconds

if($fp = fsockopen($primary, 3306, &$errno, &$errstr, $timeout)){
fclose($fp);
return $link = mysql_connect($primary, $username, $password);
}
if($fp = fsockopen($secondary, 3306, &$errno, &$errstr, $timeout)){
fclose($fp);
return $link = mysql_connect($secondary, $username, $password);
}

return 0;
}
?>

ACHTUNG: nach eigener Erfahrung sollte man darauf verzichten, die Scripte auf beide Mysql Server zu verteilen, um eine Art Load Balancer System aufzubauen, da es passieren kann, das ein Script einen Eintrag auf Server A mit auto_id setzt und gleichzeitig ein Script auf Server B in der gleichen DB den selben Key verwendet was zur Trennung der Verbindung führt. Die Replikation sollte nur dazu verwendet werden, wenn ein Server ausfällt oder man nutzt Server A für INSERTS UPDATES etc und Server B für SELECT etc. Den Status der Replikation kann man mit

SHOW SLAVE STATUS

auf beiden Servern abfragen.

===============================================
P.S.: der Englische Originalartikel von Michael Tanoviceanu ist hier zu finden:
http://www.phpbuilder.com/columns/tanov ... 00912.php3

d.goersch
Posts: 72
Joined: 2002-06-23 20:31
Location: Viersen

Re: Binäre Dateien

Post by d.goersch » 2003-02-17 20:20

Namnd,

es bleibt zu erwähnen, dass diese Methode die gesammte MySQL repliziert.
Wer hingegen nur eine - oder einzelne - Datenbanken replizieren will, schaut sich am besten meinen Post unter http://www.rootforum.org/forum/viewtopic.php?t=7656 an.

knebb
Posts: 92
Joined: 2006-05-30 11:16
Location: M-V

Re: Binäre Dateien

Post by knebb » 2006-06-20 07:13

Yohoo!

Ich muß hier den alten Thread nochmal aufwecken.... 8)
CyberLine wrote: ACHTUNG: nach eigener Erfahrung sollte man darauf verzichten, die Scripte auf beide Mysql Server zu verteilen, um eine Art Load Balancer System aufzubauen, da es passieren kann, das ein Script einen Eintrag auf Server A mit auto_id setzt und gleichzeitig ein Script auf Server B in der gleichen DB den selben Key verwendet was zur Trennung der Verbindung führt. Die Replikation sollte nur dazu verwendet werden, wenn ein Server ausfällt oder man nutzt Server A für INSERTS UPDATES etc und Server B für SELECT etc.
Genau dafür brauchen wir die Replikation hier aber, da der eine DB-Server ziemlich am Limit ist. Deshalb ein paar Fragen dazu:
    Ist dieser Punkt noch aktuell? Ist das das einzige Problem beim Load-Balancing? Kann man das im PHP-Code verhindern/ berücksichtigen? Welche Varianten hat man noch für Load-Balancing?