We are happy to announce that Vesta is back under active development as of 25 February 2024. We are working on v1 candidate and expect to engage more with the community over the coming months. We are committed to open source, and we encourage contributors to help us build the future of Vesta.
Как в панеле сменить сокет у mysql?
Как в панеле сменить сокет у mysql?
Поменял расположение файлов баз данных и сокет. В my.cnf в [mysqld] прописал новый datadir и socket, плюс в секции [client] также указал новый сокет. Далее в php.ini для mysql, mysqli и pdo указал новый сокет. Перезапустил службы. В итоге в консоли подключение к mysql работает, все сайты работают, phpmyadmin тоже работает, но vesta - нет. При попытке создать базу выдаётся "Connection to localhost failed". /usr/local/vesta/bin/v-add-database также выдаёт данное сообщение. Пришлось лезть дальше, расковырял /usr/local/vesta/func/db.sh, вывел в консоль $mysql_out и увидел реальную причину - "ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)".
Вопрос - где в vesta меняется сокет для mysql?
Вопрос - где в vesta меняется сокет для mysql?
Re: Как в панеле сменить сокет у mysql?
Внутри db.sh в отдельный файл по адресу /usr/local/vesta/conf/.mysql.localhost vesta сохраняет настройки mysql и затем под ним же пытается подрубиться. Естественно там никаких новых сокетов нет (подтягиваются дефолтные настройки) и всё это дело разваливается.
в строке подключения mysql получаем ошибку. Пока как временное решение воткнул костыль - добавляем в оба блока условия echo "socket=путь_до_вашего_сокета" >> $mycnf и в самом файле /usr/local/vesta/conf/.mysql.localhost тоже указываем сокет. После этого vesta очнулась и нормально создала базу.
Code: Select all
mycnf="$VESTA/conf/.mysql.$HOST"
if [ ! -e "$mycnf" ]; then
echo "[client]">$mycnf
echo "host='$HOST'" >> $mycnf
echo "user='$USER'" >> $mycnf
echo "password='$PASSWORD'" >> $mycnf
chmod 600 $mycnf
else
mypw=$(grep password $mycnf|cut -f 2 -d \')
if [ "$mypw" != "$PASSWORD" ]; then
echo "[client]">$mycnf
echo "host='$HOST'" >> $mycnf
echo "user='$USER'" >> $mycnf
echo "password='$PASSWORD'" >> $mycnf
chmod 660 $mycnf
fi
fi
mysql --defaults-file=$mycnf -e 'SELECT VERSION()' > $mysql_out 2>&1
-
- Support team
- Posts: 1111
- Joined: Tue Jul 30, 2013 10:18 pm
- Contact:
- Os: CentOS 6x
- Web: nginx + php-fpm
Re: Как в панеле сменить сокет у mysql?
Пусть Веста на здоровье себе подключается по TCP.