Page 1 of 1

[SOLVED] Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

Posted: Mon Jan 13, 2020 1:02 pm
by qwerty
При установки Vestacp в параметрах установки было указано:
установить mysql:

Code: Select all

bash vst-install.sh --nginx yes --apache yes --phpfpm no --named yes --remi yes --vsftpd yes --proftpd no --iptables yes --fail2ban yes --quota no --exim no --dovecot no --spamassassin no --clamav no --softaculous no --mysql yes --postgresql no --hostname 123456789.ru --email [email protected] --password 123456789
результат команды nano

Code: Select all

/var/log/mysql/error.log
SpoilerShow
Image
результат команды:

Code: Select all

service mysqld start и тд
SpoilerShow
Image
результат команды:

Code: Select all

service mysql status
Image

игровой сервер в логах пишет следующую ошибку:

Code: Select all

Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
ответы типо:

Code: Select all

service mariadb start
просьба не писать.

базы данных прекрасно создаются через панель vestacp и через phpmyadmin

Что делать?

Re: Не запускается mysql

Posted: Tue Jan 14, 2020 12:07 pm
by grayfolk
qwerty wrote:
Mon Jan 13, 2020 1:02 pm

ответы типо:

Code: Select all

service mariadb start
просьба не писать.
Подобные команды надо запускать типо под рутом и с sudo. У обычных юзеров прав нет.
qwerty wrote:
Mon Jan 13, 2020 1:02 pm
игровой сервер в логах пишет следующую ошибку:

Code: Select all

Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Либо используйте tcp-соединение с бд, либо ищите верный путь к сокету: https://stackoverflow.com/a/33378573/2736402

Re: Не запускается mysql

Posted: Tue Jan 14, 2020 7:59 pm
by qwerty
grayfolk wrote:
Tue Jan 14, 2020 12:07 pm
Либо используйте tcp-соединение с бд, либо ищите верный путь к сокету: https://stackoverflow.com/a/33378573/2736402
заменил в конфиге игрового сервера слово "localhost" на "127.0.0.1" - помогло.

попытался создать ссылку на нужный сокет, при помощи команды:

Code: Select all

ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock
затем перезагрузил ubuntu - не помогло.

затем понял, что если набирать эту команду при каждом запуске сервера, то помогает!!!

Code: Select all

sudo ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock
Но почему он пропадает после перезагрузки сервера?
Как создать "вечный ярлык", который не будет удалятсья после перезагрузки?

Верно ли я понимаю, что "tcp-соединение с бд" хуже (медленне, ресурсозатратнее) чем соединение "localhost" ?

Как в vestacp создать скрипт автозапуска в формате .sh?
Или он уже встроен и лежит в какой то папке?

Спасибо за помощь!

Re: Не запускается mysql

Posted: Tue Jan 14, 2020 10:00 pm
by grayfolk
qwerty wrote:
Tue Jan 14, 2020 7:59 pm

Но почему он пропадает после перезагрузки сервера?
Потому что mysql-сервер останавливается.
qwerty wrote:
Tue Jan 14, 2020 7:59 pm

попытался создать ссылку на нужный сокет, при помощи команды:

Code: Select all

ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock
Так замените у себя в конфиге /tmp/mysql.sock на /var/run/mysqld/mysqld.sock

Re: Не запускается mysql

Posted: Wed Jan 15, 2020 7:17 am
by qwerty
grayfolk wrote:
Tue Jan 14, 2020 10:00 pm
Потому что mysql-сервер останавливается.
я ошибался, он не останавливается, он работает на постоянной основе.
проблема была в том, что игровой сервер не может подключиться к mysql через localhost и приходится каждый раз при запуске ubuntu писать ярлык при помощи команды ls

Code: Select all

sudo ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock
grayfolk wrote:
Tue Jan 14, 2020 10:00 pm
Так замените у себя в конфиге /tmp/mysql.sock на /var/run/mysqld/mysqld.sock
в конфиге mysql "/etc/mysql/my.cnf" так и прописано изначально.
вот результат команды nano /etc/mysql/my.cnf
SpoilerShow

Code: Select all

[client]
port=3306
socket=/var/run/mysqld/mysqld.sock

[mysqld_safe]
socket=/var/run/mysqld/mysqld.sock

[mysqld]
user=mysql
pid-file=/var/run/mysqld/mysqld.pid
socket=/var/run/mysqld/mysqld.sock
port=3306
basedir=/usr
datadir=/var/lib/mysql
tmpdir=/tmp
lc-messages-dir=/usr/share/mysql
log_error=/var/log/mysql/error.log

symbolic-links=0

skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 32M
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M

#innodb_use_native_aio = 0
innodb_file_per_table

max_connections=200
max_user_connections=50
wait_timeout=10
interactive_timeout=50
long_query_time=5

!includedir /etc/mysql/conf.d/

Re: Не запускается mysql

Posted: Wed Jan 15, 2020 9:18 am
by grayfolk
qwerty wrote:
Wed Jan 15, 2020 7:17 am
grayfolk wrote:
Tue Jan 14, 2020 10:00 pm
Потому что mysql-сервер останавливается.
я ошибался, он не останавливается, он работает на постоянной основе.
Mysql-сервер останавливается (в вашем случае - перегружается, раз вы перегружаете сервер)
qwerty wrote:
Wed Jan 15, 2020 7:17 am
grayfolk wrote:
Tue Jan 14, 2020 10:00 pm
Так замените у себя в конфиге /tmp/mysql.sock на /var/run/mysqld/mysqld.sock
в конфиге mysql "/etc/mysql/my.cnf" так и прописано изначально.
Да елки! В конфиге своего скрипта на сервере поменяйте! При чем тут конфиг мускуля?

Re: Не запускается mysql

Posted: Wed Jan 15, 2020 1:54 pm
by qwerty
grayfolk wrote:
Wed Jan 15, 2020 9:18 am
Mysql-сервер останавливается (в вашем случае - перегружается, раз вы перегружаете сервер)
я не могу его перегружать, ведь на нём никто еще не играет... я лишь пытаюсь нормальным образом настроить ubuntu

grayfolk wrote:
Wed Jan 15, 2020 9:18 am
Да елки! В конфиге своего скрипта на сервере поменяйте! При чем тут конфиг мускуля?
да если бы я знал как это сделать...
в sourcemod не покапаешься...
все файлы перерыл при помощи поиска на наличие данного слова внутри: mysql.sock
даже гугл не дал мне ответа как это сделать...
зато ярлык на нужный сокет сработал :)

Re: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

Posted: Thu Jan 16, 2020 6:03 am
by grayfolk
В /etc/my.cnf поменяйте путь к сокету.