Vesta Control Panel - Forum

Community Forum

Skip to content

Advanced search
  • Quick links
    • Main site
    • Github repo
    • Google Search
  • FAQ
  • Login
  • Register
  • Board index Language specific forums Russian (Русский) Сервер баз данных
  • Search

Как в панеле сменить сокет у mysql?

Вопросы по работе Сервера баз данных
MySQL, PostgreSQL, MariaDB, Percona Server, phpMyAdmin, phpPgAdmin
Post Reply
  • Print view
Advanced search
3 posts • Page 1 of 1
Alcorn
Posts: 3
Joined: Sat Jun 23, 2018 1:59 pm

Os: CentOS 6x
Web: apache + nginx
Как в панеле сменить сокет у mysql?
  • Quote

Post by Alcorn » Fri Jun 19, 2020 1:20 pm

Поменял расположение файлов баз данных и сокет. В 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?
Top

Alcorn
Posts: 3
Joined: Sat Jun 23, 2018 1:59 pm

Os: CentOS 6x
Web: apache + nginx
Re: Как в панеле сменить сокет у mysql?
  • Quote

Post by Alcorn » Fri Jun 19, 2020 2:02 pm

Внутри db.sh в отдельный файл по адресу /usr/local/vesta/conf/.mysql.localhost vesta сохраняет настройки mysql и затем под ним же пытается подрубиться. Естественно там никаких новых сокетов нет (подтягиваются дефолтные настройки) и всё это дело разваливается.

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
в строке подключения mysql получаем ошибку. Пока как временное решение воткнул костыль - добавляем в оба блока условия echo "socket=путь_до_вашего_сокета" >> $mycnf и в самом файле /usr/local/vesta/conf/.mysql.localhost тоже указываем сокет. После этого vesta очнулась и нормально создала базу.
Top

grayfolk
Support team
Posts: 1111
Joined: Tue Jul 30, 2013 10:18 pm
Contact:
Contact grayfolk
Website Facebook Skype Twitter

Os: CentOS 6x
Web: nginx + php-fpm
Re: Как в панеле сменить сокет у mysql?
  • Quote

Post by grayfolk » Fri Jun 19, 2020 4:56 pm

Пусть Веста на здоровье себе подключается по TCP.
Top


Post Reply
  • Print view

3 posts • Page 1 of 1

Return to “Сервер баз данных”



  • Board index
  • All times are UTC
  • Delete all board cookies
  • The team
Powered by phpBB® Forum Software © phpBB Limited
*Original Author: Brad Veryard
*Updated to 3.2 by MannixMD
 

 

Login  •  Register

I forgot my password