Задать вопрос

Почему не работает база данных MySql?

На тот сервер где у меня VPS вчера проводили DDOS атаку и происходили сбои. После этого у меня перестал работать MySql.
phpmyadmin:
#2002 Невозможно подключиться к серверу MySQL
Ошибка при указании соединения для controluser в конфигурации.

PDO:
SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Поддержка говорит что это мои проблемы, мол сам и решай.
Что делать? И как сделать бэкап если придется переустановить MySql?
  • Вопрос задан
  • 16081 просмотр
Подписаться 5 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 6
Первое, что нужно сделать это перезагрузить сервер:
sudo reboot

После перезагрузки посмотреть загрузился ли mysql:
ps aux|grep mysql

Если mysql не загрузился, то смотреть в логи причину, почему не загрузился:
/var/log/mysql/error.log
/var/log/syslog
/var/log/messages
иногда /var/lib/mysql/error.log


Если mysql загрузился попробовать подключиться из консоли:
mysql -u controluser -p

Если подключение прошло успешно, выйти из консольного клиента "quit" проверить создался ли сокет в директории /var/run/mysqld/mysqld.sock

Если сокета в директории нет нужно поискать его командой:
find / -name mysql*.sock

Если сокет нашелся в директории отличной от /var/run/mysqld/mysqld.sock нужно в настройках php.ini прописать новое местоположение сокета:

pdo_mysql.default_socket=
mysql.default_socket =
mysqli.default_socket =
Ответ написан
nochkin
@nochkin
Может, надо просто перезапустить MySQL?
Похоже, что она не запущена или упала.
Ответ написан
@inkvizitor68sl
Linux-сисадмин с 8 летним стажем.
Наймите админа. Гадать долго можно.
Ответ написан
Комментировать
@Nc_Soft
Смотрите лог ошибок, предположительно в /var/db/mysql файл с разрешением .err
Ответ написан
Комментировать
igorgabby
@igorgabby
Была такая же проблема, мучился долго, в итоге понял, что mysqld.exe не запускается.
Понял, что нужно запускать распакованный сервер с помощью командной строки:
mysqld.exe --standalone
для завершения работы сервера используйте:
mysqladmin.exe -u root shutdown
Данные exe-шки находятся в папке с вашим сервером в каталоге bin.

Так же можете попробовать установить MySQLInstaller для работы с MySQL сервером, может заменить вам распаковку сервера с архива, на установку с удобным интерфейсом.
ВОТ ССЫЛКА НА MySQLInstaller: dev.mysql.com/downloads/windows/installer/5.6.html
(На сайте, на первый момент кажется, нельзя без регистрации ставить, но снизу есть кнопка "No thanks, just start my download.")
+
(Указано, что MySQLInstaller 32-х разрядный, но в последствии вы можете установить 64-х разрядный сервер в этой же программе)
Ответ написан
Комментировать
@vl12
Создать этот файл:
sudo mkdir /var/run/mysqld
sudo mkfifo /var/run/mysqld/mysqld.sock
sudo chown -R mysql /var/run/mysqld

Проверить: mysql -u root -p
Скорее всего будет выдавать ошибку прав доступа. Отключить запрет для пользователя "root":
$ sudo -i
$ echo "update user set plugin='' where User='root'; flush privileges;" | mysql -u root -p mysql

Перезапустить mysql: sudo service mysql restart

softodom.com/516/mysql-cant-connect-through-socket...
https://losst.ru/ustanovka-lamp-ubuntu-16-04
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы