Так что я очень запутался.
У меня есть тестовая сборка, которая начала ломаться, потому что сокет mysql пытался создать в такой глубоко вложенной папке, что его путь к файлу превысил ограничение в 108 символов. Поэтому я решил поместить сокет в домашний каталог тестируемых пользователей в папку с таким же названием. Т.е.:
/home/nightlybuild/projects/......./myTestProject/output/db/connect.sock
становится /home/nightlybuild/myTestProject/output/db/connect.sock
затем я создал символическую ссылку во вложенном каталоге:
ln -s /home/nightlybuild/myTestProject/output/db/connect.sock /home/nightlybuild/projects/......./myTestProject/output/db/connect.sock
Вот что меня смущает. Если я попытаюсь запустить mysql через этот сокет, передав ЛЮБОЙ относительный путь к сокету, я могу подключиться, и все будет работать, как ожидалось. Однако, если я передаю полный абсолютный путь к сокету, я получаю ошибку «Невозможно подключиться».
Работает: (из домашнего каталога):
mysql --socket=projects/......./myTestProject/output/db/connect.sock
(не работает):
mysql --socket=/home/nightlybuild/projects/......./myTestProject/output/db/connect.sock
Я не понимаю, как полный путь вообще мог его нарушить. У кого-нибудь есть идеи, что я делаю неправильно, или даже советы по поводу журнала или чего-то, что я мог бы посмотреть, чтобы попытаться получить больше информации о проблеме?
Ура!