Я разработал веб-сайт на платформе Silverstripe и развернул это на цифровом океанском сервере с помощью песней (7.0.1406), mariadb (10.0.14) и апача (2.4.6). Я - своего рода новичок когда дело доходит до системного администратора так настраивает инструкции по следующему сервера в цифровых океанских общественных документах (https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-centos-7).
Я случайным образом получаю следующую ошибку, когда я пытаюсь соединиться с сайтом:
[Предупреждение] mysqli:: mysqli (): (HY000/2002): не Может соединиться с локальным сервером MySQL через сокет '/var/lib/mysql/mysql.sock' (111)
На
$this->dbConn = new MySQLi($parameters['server'], $parameters['username'], $parameters['password']);
Когда это происходит, я перезагружаю сервер (с 'перезагрузкой'), проблема уходит. Это только, кажется, происходит при действии, происходит в CMS. Мой клиент испытал его неоднократно при попытке загрузить изображения, и я только что видел его впервые при переключении страниц в CMS.
Никакой объем использования на фронтэнде веб-сайта не вызывает проблемы (до сих пор, по крайней мере). Что могло вызывать эту проблему? Есть ли какие-либо действия, которые могут быть выполнены веб-сайтом (PHP), который мог инициировать этот отказ? Злоупотребление системой снабжает/подвешивает взлеты где-нибудь/тайм-ауты? Где я могу запустить свой процесс отладки?
Я развернул многочисленные сайты под аналогичными средами в прошлом, но никогда не встречался с этим за исключением принуждения закрытия через цифровую океанскую панель управления.
Привет, @AveryPayne. Спасибо, что нашли время, чтобы прочитать сообщение. $ paramaters ['server'] - это 'localhost'. Ура, Фрейзер
Краткая версия: «Отсюда вы не можете добраться».
На основании этого комментария и сообщения об ошибке я бы сказал , что у вас проблема с типом подключения. Сокет в сообщении об ошибке указан как /var/lib/mysql/mysql.sock
, но вы пытаетесь подключиться к сети через localhost, который соответствует сетевому адресу 127.0.0.1. Похоже, ваша программа не использует правильный параметр во время выполнения. Дважды проверьте, действительно ли параметр является 'localhost' во время выполнения , запрограммировав его где-нибудь в журнале / записи параметра, и дважды проверьте, что MySQL подключен к сетевому порту 3306, а не к файловому сокету в /var/lib/mysql/mysql.sock
.
Либо измените параметр для программы и MySQL, чтобы вместо этого использовать файловый сокет. Все, что работает проще всего.
111 означает, что в соединении отказано. То есть, этот сокет ничего не прослушивает.
Это означает, что MariaDB не запущен, или был настроен на прослушивание какого-либо другого сокета (или вообще не прослушивал).
Проверьте свою конфигурацию MariaDB, чтобы убедиться, что вы указали сокет правильно, затем перезапустите его.
Первым шагом будет просмотр файла журнала Mariadb, который обычно находится в / var / lib / mysql и называется * .err.
Вы также можете проверить, что Mariadb является все еще работает на сервере, когда вы получаете это сообщение об ошибке, и вы можете проверить, можете ли вы войти в систему (в случае, если он работает).
У меня была та же проблема, и я узнал кое-что, покопавшись. MariaDB - это прямая замена mysql. В новой системе mysql является клиентом MariaDB (хотя я не понимаю, что это значит). Проверка, была ли запущена служба:
service mysqld status
, в которой указано:
Перенаправление в / bin / systemctl status mysqld.service
mysqld.service
Загружено: не найдено (Причина: нет такого файла или каталога )
Активен: неактивен (мертв)
Другими словами, служба mysqld не запущена.
Запуск сервиса у меня сработал:systemctl start mariadb.service
Теперь все команды mysql работают должным образом.
Чтобы завязать последний узел, включите сервис при загрузке:systemctl enable mariadb.service
Привет, проверьте, заполнен ли ваш диск в установочном разделе. И если хранилище существует, управляйте журналами на сервере Mariadb, добавляя следующие строки в my.conf
expire_logs_days = 10 #this is for managing the log days
max_binlog_size = 100M #this is for managing the log size
Переместите журналы в каталог и перезапустите сервер mariadb.