Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: sourceserver.info. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Tyrargo

Anfänger

  • »Tyrargo« ist der Autor dieses Themas

Beiträge: 33

Rootserver vorhanden: Nein

  • Nachricht senden

1

Dienstag, 28. Februar 2012, 18:17

Sourcebans-Fehler: Can't connect to local MySQL server through socket

Wir haben einen Rootserver. Sourcebans lief auch wunder. Bis wir eine Speichererweiterung bekommen haben. Seitdem steht in den Sourceban-Logs von allen Servern: Can't connect to local MySQL server through socket

- Ich habe nichts an den Dateien verändert.
- Der symbolische Link ist auch gesetzt.

Nun meine Frage: Kann es sein, dass noch irgendwas am Root selbst gestartet werden muss? Sachen wie MySql, Apache laufen.

Ich weiß nur nicht, wie die Firewall aussieht, ob die nun vielleicht was blockt.
Gameserver und Sourcebans liegen auf dem gleichen Server.

Hoffe, es kann mir jemand helfen.

Edit: Hat sich erledigt! Hatte den Softlink falsch geschrieben. Werd ihn nun ohne -s eintragen, damit ich das nach einem Reboot nicht immer wieder selbst machen muss.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Tyrargo« (28. Februar 2012, 18:24)


Tyrargo

Anfänger

  • »Tyrargo« ist der Autor dieses Themas

Beiträge: 33

Rootserver vorhanden: Nein

  • Nachricht senden

2

Dienstag, 28. Februar 2012, 18:35

Kann ich es irgendwie einrichten, dass dieser Befehl:

Quellcode

1
ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock


automatisch ausgeführt wird, falls der Server mal neu gestartet wird? Oder dass die Verknüpfung dauerhaft da ist?

Impact

Super Moderator

Beiträge: 1 276

Rootserver vorhanden: Nein

  • Nachricht senden

3

Dienstag, 28. Februar 2012, 18:58

Wieso willst du das machen?
Mir ist aber nicht bekannt dass sich Symbolische Links in Luft auflösen.

MfG
Impact

4

Dienstag, 28. Februar 2012, 20:29

Wir setzen den Link auch jedes mal neu ... immer beim Restart des Servers.
Besser gesagt wenn wir die Gameserver starten.
Ist ja nur eine Zeile mehr ^^
Verändere die Sourcewelt so wie du es willst ;)
(Durch modifizieren, spawnen, laden, speichern von Entities)
Extended Grabbermod -> Ent-Control

DeaD_EyE

Administrator

Beiträge: 3 980

Wohnort: Hagen

Beruf: Mechatroniker (didaktische Systeme)

Rootserver vorhanden: Nein

  • Nachricht senden

5

Dienstag, 28. Februar 2012, 21:21

Ist abhängig von der eingesetzten Distribution.
Debian löscht standardmäßig den Inhalt von /tmp nach einem Neustart.
Normal sollten auch Hardlinks gelöscht werden.

Um das Verhalten zu deaktivieren, kann man die rcS abändern.

/etc/default/rcS

Quellcode

1
2
3
#TMPTIME=0 #Alle Dateien nach einem Neustart löschen
#TMPTIME=-1 #Dateien für immer behalten
#TMPTIME=X  #Dateien löschen, die älter als X Tage sind


Manche mounten /tmp als tempfs, wodurch der Inhalt definitiv nach einem Neustart verloren geht.
Am einfachsten wäre es mittels init-script den Symlink beim Neustart zu setzen.
ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock


/etc/init.d/mysql.sock

Quellcode

1
2
#!/bin/sh
ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock

chmod 700 /etc/init.d/mysql.sock

Dann im Runlevel 2 eintragen:

Quellcode

1
ln -s /etc/init.d/mysql.sock /etc/rc2.d/S99mysql.sock

Das Script ist nicht Sysinit-V-Konform. Es sollte aber keine Probleme bereiten.

Tyrargo

Anfänger

  • »Tyrargo« ist der Autor dieses Themas

Beiträge: 33

Rootserver vorhanden: Nein

  • Nachricht senden

6

Mittwoch, 29. Februar 2012, 14:39

Danke für die Antwort!

MadMakz

Super Moderator

Beiträge: 1 878

Wohnort: ~#

Rootserver vorhanden: Ja

  • Nachricht senden

7

Mittwoch, 29. Februar 2012, 19:30

alternativer weg wäre noch die sock einträge konsistent zu machen. die sock direktive gibt es drei mal in my.cnf (je 1x unter client, mysqld, mysqld_safe).

wichtig ist das der PHP user auf den socket pfad der in der my.cnf steht zugreifen kann.

my.cnf

Quellcode

1
2
3
4
5
6
7
8
9
10
11
[client]
...
socket          = /var/run/mysqld/mysqld.sock
...
[mysqld_safe]
socket          = /var/run/mysqld/mysqld.sock
...
[mysqld]
...
socket          = /var/run/mysqld/mysqld.sock
...

Quellcode

1
2
3
4
5
6
:~# ls -la /var/run/mysqld/
total 12
drwxr-xr-x  2 mysql root  4096 Jan 16 21:39 .
drwxr-xr-x 13 root  root  4096 Feb 29 00:00 ..
-rw-rw----  1 mysql mysql    5 Jan 16 21:39 mysqld.pid
srwxrwxrwx  1 mysql mysql    0 Jan 16 21:39 mysqld.sock

Quellcode

1
2
3
4
5
6
~# ls -la /tmp
total 16
drwxrwxrwt  4 root root 4096 Feb 29 19:27 .
drwxr-xr-x 22 root root 4096 Jul 23  2011 ..
drwxrwxrwt  2 root root 4096 Jan 16 21:38 .ICE-unix
drwxrwxrwt  2 root root 4096 Jan 16 21:38 .X11-unix

Ähnliche Themen