mein mysql server läuft in einer eigens dafür vorgesehenen chroot umgebung (/home/chroot/mysql), der user und die usergroup lauten: chrmysql
das problem was auftaucht wenn ich ihn starte ist folgendes:
hab nach dem problem nun schon über 4 stunden gegoogled aber kam zu keiner lösung. in der jail exsistiert die mysqld.sock auch !mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
unter prozessen läuft der mysql server per chroot auch:server:/home/chroot/mysql# ls -al var/run/mysqld
insgesamt 12
drwxr-xr-x 2 chrmysql root 4096 2007-09-12 17:58 .
drwxr-xr-x 4 root root 4096 2007-09-12 16:32 ..
-rw-rw---- 1 chrmysql chrmysql 5 2007-09-12 17:58 mysqld.pid
srwxrwxrwx 1 chrmysql chrmysql 0 2007-09-12 17:58 mysqld.sock
gestartet wurde er über den befehlchrmysql 5607 0.0 2.9 125960 15328 pts/0 Sl 17:58 0:00 | \_ /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=chrmysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock
dabei hat er mir folgendes gesagtchroot /home/chroot/mysql /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=chrmysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock & disown
obwohl er mir anzeigt dass der port gebunden ist:server:/home/chroot/mysql/# chroot /home/chroot/mysql /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=chrmysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock & disown
[1] 5640
server:/home/chroot/mysql/etc/mysql# 070912 16:07:41 InnoDB: Started; log sequence number 0 43655
070912 16:07:41 [Note] Recovering after a crash using /var/log/mysql/mysql-bin
070912 16:07:41 [Note] Starting crash recovery...
070912 16:07:41 [Note] Crash recovery finished.
070912 16:07:41 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.0.32-Debian_7etch1-log' socket: '/var/run/mysqld/mysqld.sock' port: 3306 Debian etch distribution
wenn ich mich mit telnet auf den port connecte kommt:Aktive Internetverbindungen (Nur Server)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 localhost:1987 *:* LISTEN 2257/sshd
tcp 0 0 localhost:mysql *:* LISTEN 5607/mysqld
tcp 0 0 *:48746 *:* LISTEN 2162/rpc.statd
tcp 0 0 *:sunrpc *:* LISTEN 1778/portmap
tcp 0 0 *:auth *:* LISTEN 2133/inetd
tcp 0 0 localhost:smtp *:* LISTEN 2121/exim4
tcp6 0 0 *:www *:* LISTEN 4766/apache2
udp 0 0 *:32768 *:* 2162/rpc.statd
udp 0 0 *:642 *:* 2162/rpc.statd
udp 0 0 *:bootpc *:* 2237/dhclient3
udp 0 0 *:sunrpc *:* 1778/portmap
Aktive Sockets in der UNIX Domäne (Nur Server)
Proto RefZäh Flaggen Typ Zustand I-Node PID/Program name Pfad
unix 2 [ ACC ] STREAM HÃRT 5422 2078/acpid /var/run/acpid.socket
unix 2 [ ACC ] STREAM HÃRT 59464 5607/mysqld /var/run/mysqld/mysqld.sock
nach etwa 5 sekunden kommt connection closed by foreign hostserver:/home/chroot/mysql/# telnet 127.0.0.1 3306
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
F
5.0.32-Debian_7etch1-log|k$n"VoK,fD\&EgW^Q^bSConnection closed by foreign host.
ich versteh nicht wenn der port nicht gebunden werden kann und wenn man nicht sich einloggen kann warum er dann per telnet einen offenen port anzeigt hinter dem anscheinend ein mysqld läuft - auch netstat macht ja den eindruck ?
Evtl ein Permissions bzw Rechtezuweisungsproblem? Bei chroot-Umgebung wäre ja sowas denkbar möglich....
was ich bisher gemacht habe ware die usergroups bei den /var/run zu überprüfen und anzupassen auf chrmysql
über
alle mysql files versucht zu finden und in die jail struktur einzugliedernfind / mysql | grep mysql
eingegeben und alle nötigen libraries von hand in die jail struktur eingegliedert ...ldd /usr/sbin/mysqld
das komische ist jetzt wenn ich den mysql ganz normal über /etc/init.d/mysql start
starte - also außerhalb der jail ... macht er keine problem ... deshalb whats wrong ?
mfg
be1j0