Попробовал:
-----
[root@logwatch mysql]# sudo -u mysql touch mysql.sock
sudo: unable to exec /bin/touch: Permission denied[root@logwatch mysql]# sudo -u mysql cat > mysql.sock
sudo: unable to exec /bin/cat: Permission denied
-----
Система не дает пользователю mysql выполнять команды. Я не могу придумать как в таких условиях создать файл от имени пользователя mysql.
Еще один момент: я не разбираюсь в сокетах,- файл сокета это обычный файл или он должен создаваться какими-либо специальными средствами? Может вся проблема в том что я не знаю как его правильно создать?
Тем не менее второе предложение,- запустил с сокетом в /tmp, вот результат:
-----
[root@logwatch tmp]# mysql -S /tmp/mysql.sock
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
[root@logwatch tmp]# mysqld_safe -S /tmp/mysql.sock
Starting mysqld daemon with databases from /var/lib/mysql
STOPPING server from pid file /var/run/mysqld/mysqld.pid
080912 11:52:31 mysqld ended
-----
Ну и наконец запустил под strace. Ругается на отсутствие файлов и директорий, к примеру так:
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/usr/lib/mysql/tls/i686/sse2/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/mysql/tls/i686/sse2", 0xbfe7e780) = -1 ENOENT (No such file or directory)
И так далее, а ближе к концу:
connect(3, {sa_family=AF_FILE, path="/var/lib/mysql/mysql.sock"}, 110) = -1 ECONNREFUSED (Connection refused)