Ошибка «ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/run/mysqld/mysqld.sock’ (2 «No such file or directory»)» (РЕШЕНО)
При попытке подключения к серверу MySQL может возникнуть ошибка:
Вариант на другом дистрибутиве (отличается путь до файла mysqld.sock):
Ошибка означает, что не получается подключиться к MySQL серверу через сокет /run/mysqld/mysqld.sock, поскольку данный файл просто не существует.
Эта ошибка может возникнуть при использовании примерно следующей команды:
Причём она одинакова и для MySQL и для MariaDB.
Причина ошибки всегда одна — на хосте, к которому вы пытаетесь подключиться, не работает служба MySQL/MariaDB. Конкретных вариантов может быть множество: от банальных что вы забыли установить службу до более сложных, когда из-за ошибки в команде вы подключаетесь не к тому хосту.
Убедитесь, что MySQL/MariaDB сервер установлен
В первую очередь убедитесь, что СУБД MySQL или MariaDB вообще установлены.
Пакет может называться mysql-server или mysql. Если вы выбрали MariaDB вместо MySQL, то пакет называется mariadb-server или mariadb.
Пакеты mysql-client или mariadb-clients или какие-то ещё НЕ подходят! Это только клиенты для подключения, но не сам сервер.
На Ubuntu, Linux Mint и других дистрибутивах из этой семьи для установки выполните:
Убедитесь, что служба MySQL/MariaDB запущена
Файл /run/mysqld/mysqld.sock создаётся когда MySQL или MariaDB сервер установлен и запущен. Поэтому проверим статус сервера следующей командой (подходит и для MySQL, и для MariaDB):
Должен быть статус active (running) .
Если служба не запущена, то запустите её командой:
После этого проверьте статус службы
Добавления службы в автозагрузку (чтобы не пришлось её запускать при каждом включении компьютера, выполните следующую команду):
Убедитесь, что служба MySQL/MariaDB настроена правильно
Если причина проблемы оказалась в том, что служба не запущена и после попытки запуска служба вновь оказалась неактивной, значит проблема может быть в неправильной настройке сервера MySQL/MariaDB.
Файлы конфигурации (настроек) MySQL и MariaDB могут размещаться в разных директориях, например:
При этом в файлах могут быть установлены различные значения одной и той же настройки, что приводит к проблеме. Устраните противоречие, либо удалите или переименуйте один из файлов и попробуйте вновь запустить службу.
На что стоит обратить внимание в конфигурационных файлах
Если вы хотите сохранить оба конфигурационных файла, то проверьте, чтобы значение socket было одинаковым. Также для bind-address должен быть установлен правильный IP адрес. Если к этому серверу подключаются только приложения, которые запущены на этом же сервере, то в качестве значения bind-address нужно прописать localhost или 127.0.0.1
Перезапустите службу mysqld
Попробуйте просто перезапустить службу командой:
Либо следующим образом, значала узнайте PID (идентификатор) процесса mysql:
Затем выполните следующую команду, в которой вместо [PID] укажите число, полученное из предыдущей команды:
Затем вновь запустите службу:
Неправильные права на файл /run/mysqld/mysqld.sock
У MySQL/MariaDB должно быть достаточно прав для создания и записи в файл /run/mysqld/mysqld.sock (или /var/run/mysqld/mysqld.sock). Можно попробовать решить проблему следующим образом, если файл /run/mysqld/mysqld.sock (или /var/run/mysqld/mysqld.sock — указывайте файл в соответствии с вашими настройками в my.cnf) не существует, то создайте его:
Затем сделайте пользователя mysql владельцем этого файла:
Установите правильные права на этот файл:
Вновь попробуйте запустить сервис:
Проблемы запуска службы из-за несовместимой настройки apparmor
Если при запуске службы вы получаете ошибку и вы используете профили apparmor, проверьте, чтобы профиль apparmor позволял процессу mysqld иметь доступ в необходимую для него директорию.
Несовместимость может быть вызвана, к примеру, файл сокета для MySQL настроен на сохранение по пути /run/mysqld/mysqld.sock, но в профиле apparmor дано разрешение на /var/run/mysqld/mysqld.sock
Чтобы убедиться, что дело именно в apparmor, попробуйте отключить его:
Если проблема исчезла и служба mysqld запустилась, значит нужно поверить разрешения для mysqld и добавить необходимые пути.
К примеру для показанного примера решением проблемы является добавление в /etc/apparmor.d/usr.sbin.mysqld строк:
Служба mysqld не может запуститься из-за отсутствия места на диске
Если ваш диск переполнен, то это может быть причиной невозможности запуска службы, даже если она правильно настроена и ранее нормально работала.
Освободите пространство на диске и перезапустите службу.
Служба mysqld не может запуститься так как порт 3306 используется другой программой
По умолчанию служба mysqld использует порт 3306 если этот порт использует другой процесс, то это является препятствием для запуска MySQL и в конечном счёте появляется рассматриваемая ошибка.
Для решения проблемы выясните, какая служба прослушивает порт 3306. Например, это можно сделать командой:
А затем остановите эту служу и удалите её из автозагрузки.
Либо можно использовать альтернативный вариант — настроить службу mysqld прослушивать другой, отличный от дефолтного порта. Но это может повлечь необходимость явно указывать порт в любых приложениях, которые подключаются к СУБД MySQL.
Вместо localhost попробуйте использовать 127.0.0.1
Вместо localhost в примерно такой команде:
Используйте 127.0.0.1:
(также обратите внимание на отсутствие пробела между -p и mypassword)
Служба mysqld не запускается из-за недоступности файлов баз данных
Ещё одной причиной может стать то, что вы переместили файлы с базами данных, но не изменили пути в соответствующих файлах настройки MySQL. Выполните правильно настройку и перезапустите MySQL или MariaDB.
Неверно указан хост для подключения
Для указания удалённого хоста используется опция -h. Из-за привычки указывать хост после имени пользователя через знак @ (как это делается, например, для SSH), либо указывать удалённый хост без опции -h, команда может оказаться неверной в том плане, что вместо подключения к удалённому хосту, вы пытаетесь подключиться, например, к своей собственной системе, на которой служба MySQL не установлена.
Следовательно, отредактируйте команду, используйте опцию -h или более длинный вариант —host=имя_хоста для указания хоста, к которому вы хотите подключиться.
Кстати, для указания имени пользователя используется опция -u. Если пароль отличается от стандартного, то используется опция -P (заглавная буква). Опция -p (прописная буква) используется для указания базы данных, которая выбирается для использования.
Служба mysqld по умолчанию не добавляется в автозагрузку на некоторых дистрибутивах
Помните, что на некоторых дистрибутивах (например, производных Arch Linux, на Kali Linux) даже после установки MySQL или MariaDB они не добавляются в автозагрузку и не запускаются по умолчанию.
Для запуска службы и её авто старта при последующих включениях компьютера выполните команды:
Заключение
Итак, основной причиной ошибки «ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/run/mysqld/mysqld.sock’ (2 «No such file or directory»)» является незапущенная служба mysqld. Причин того, что указанная служба не запущена может быть множество: от банального факта что служба вообще не установлена, до более серьёзных проблем связанных с переполненностью диска и неправильной настройкой конфигурационных файлов и прав доступа к файлам.
Следовательно, выявите и устраните причину, по которой служба не запущена, а затем запустите службу и ошибка исчезнет.
Источник
Почему получаю SQLSTATE[HY000] [2002] Connection refused, а миграции при этом с БД работают?
Пытаюсь использовать YII локально с докером. Настроил БД. Миграции работают нормально, при этом когда пробую записать или прочитать что-то из таблицы user , к примеру, получаю ошибку :
Менял 127.0.0.1 на localhost.
- Вопрос задан более трёх лет назад
- 12059 просмотров
Средний 2 комментария
у меня была такая проблема когда перерёл на винде с докер на докер тулбокс
решил её добавив в docker-compose.yml в настроки mysql
Правильный ответ
Пришлось сделать ДВА(!) конфига . Отдельно для консоли и для остального приложения. Разница в
dsn.
Для консоли
‘dsn’ => ‘mysql:host=127.0.0.1;dbname=project’,
Для остального приложения
‘dsn’ => ‘mysql:host=mysql;dbname=project’,
Пытаюсь использовать YII локально с докером.
Привет, столкнулся с той же проблемой, решил твоим методом
Изменил ‘host=127.0.0.1’ на ‘host=mysql’ и ошибка пропала.
Хочу уточнить, ты пишешь:
«Для остального приложения
‘dsn’ => ‘mysql:host=mysql;dbname=project’, «
‘host = mysql’ это потому что контейнер с базой данных так называется (mysql) или если по-другому, то почему?
Источник
Docker MYSQL ‘[2002] Connection refused’
I was trying out Docker for the first time. Got a LEMP stack up and running, but I can’t connect to the MYSQL Database. Not on my Symfony application, not on PHPMyAdmin. The applications are returning the following error code:
An exception occured in driver: SQLSTATE[HY000] [2002] Connection refused
This is my docker-compose.yml:
Could someone help me out? Thank you for your time.
8 Answers 8
The ‘[2002] Connection refused’ means you can reach the database server, but you don’t have right access for the user (in your case admin). By default mariadb have a root user with the password given by MYSQL_ROOT_PASSWORD and this user can connect from any server (%).
If you want use an over login to your databases, you have to create it in the databases server with the right granting on databases from chosen locations.
The problem here is that you have named your database server as ‘mysql’ (service name in the docker-compose file). But by default phpmyadmin tries to connect to a database server named ‘db’. Adding PMA_HOST: mysql under the environment section of the phpmyadmin service will resolve this problem.
I think that MYSQL_USERNAME and PMA_ARBITRARY are useless if you work with default configuration (connection with root to your databases server)
Источник
Устраняем типичные ошибки в MySQL
MySQL — система управления базами данных (СУБД) с открытым исходным кодом от компании Oracle. Она была разработана и оптимизирована специально для работы веб-приложений. MySQL является неотъемлемой частью таких веб-сервисов, как Facebook, Twitter, Wikipedia, YouTube и многих других.
Эта статья расскажет, как определять, с чем связаны частые ошибки на сервере MySQL, и устранять их.
Не удаётся подключиться к локальному серверу
Одной из распространённых ошибок подключения клиента к серверу является «ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)».
Эта ошибка означает, что на хосте не запущен сервер MySQL ( mysqld ) или вы указали неправильное имя файла сокета Unix или порт TCP/IP при попытке подключения.
Убедитесь, что сервер работает. Проверьте процесс с именем mysqld на хосте сервера, используя команды ps или grep, как показано ниже.
Если эти команды не показывают выходных данных, то сервер БД не работает. Поэтому клиент не может подключиться к нему. Чтобы запустить сервер, выполните команду systemctl.
Чтобы проверить состояние службы MySQL, используйте следующую команду:
Если в результате выполнения команды произошла ошибка службы MySQL, вы можете попробовать перезапустить службу и ещё раз проверить её состояние.
Если сервер работает (как показано) и вы по-прежнему видите эту ошибку, вам следует проверить, не заблокирован ли порт TCP/IP брандмауэром или любой другой службой блокировки портов.
Для поиска порта, который прослушивается сервером, используйте команду netstat .
Не удаётся подключиться к серверу MySQL
Ещё одна похожая и часто встречающаяся ошибка подключения — «(2003) Can’t connect to MySQL server on ‘server’ (10061)». Это означает, что в сетевом соединении было отказано.
Следует проверить, работает ли в системе сервер MySQL (смотрите выше) и на тот ли порт вы подключаетесь (как найти порт, можно посмотреть выше).
Похожие частые ошибки, с которыми вы можете столкнуться при попытке подключиться к серверу MySQL:
Ошибки запрета доступа в MySQL
В MySQL учётная запись (УЗ) определяется именем пользователя и клиентским хостом, с которого пользователь может подключиться. УЗ может также иметь данные для аутентификации (например, пароль).
Причин для запрета доступа может быть много. Одна из них связана с учётными записями MySQL, которые сервер разрешает использовать клиентским программам при подключении. Это означает, что имя пользователя, указанное в соединении, может не иметь прав доступа к базе данных.
В MySQL есть возможность создавать учётные записи, позволяющие пользователям клиентских программ подключаться к серверу и получать доступ к данным. Поэтому при ошибке доступа проверьте разрешение УЗ на подключение к серверу через клиентскую программу.
Увидеть разрешённые привилегии учётной записи можно, выполнив в консоли команду SHOW GRANTS
Входим в консоль (пример для Unix, для Windows консоль можно найти в стартовом меню):
В консоли вводим команду:
Дать привилегии конкретному пользователю в БД по IP-адресу можно, используя следующие команды:
Ошибки запрещённого доступа могут также возникнуть из-за проблем с подключением к MySQL (см. выше).
Потеря соединения с сервером MySQL
С этой ошибкой можно столкнуться по одной из следующих причин:
- плохое сетевое соединение;
- истекло время ожидания соединения;
- размер BLOB больше, чем max_allowed_packet .
В первом случае убедитесь, что у вас стабильное сетевое подключение (особенно, если подключаетесь удалённо).
Если проблема с тайм-аутом соединения (особенно при первоначальном соединении MySQL с сервером), увеличьте значение параметра connect_timeout .
В случае с размером BLOB нужно установить более высокое значение для max_allowed_packet в файле конфигурации /etc/my.cnf в разделах [mysqld] или [client] как показано ниже.
Если файл конфигурации недоступен, это значение можно установить с помощью следующей команды.
Слишком много подключений
Эта ошибка означает, что все доступные соединения используются клиентскими программами. Количество соединений (по умолчанию 151) контролируется системной переменной max_connections . Устранить проблему можно, увеличив значение переменной в файле конфигурации /etc/my.cnf .
Недостаточно памяти
Если такая ошибка возникла, это может означать, что в MySQL недостаточно памяти для хранения всего результата запроса.
Сначала нужно убедиться, что запрос правильный. Если это так, то нужно выполнить одно из следующих действий:
- если клиент MySQL используется напрямую, запустите его с ключом —quick switch , чтобы отключить кешированные результаты;
- если вы используете драйвер MyODBC, пользовательский интерфейс (UI) имеет расширенную вкладку с опциями. Отметьте галочкой «Do not cache result» (не кешировать результат).
Также может помочь MySQL Tuner. Это полезный скрипт, который подключается к работающему серверу MySQL и даёт рекомендации по настройке для более высокой производительности.
MySQL продолжает «падать»
Если такая проблема возникает, необходимо выяснить, заключается она в сервере или в клиенте. Обратите внимание, что многие сбои сервера вызваны повреждёнными файлами данных или индексными файлами.
Вы можете проверить состояние сервера, чтобы определить, как долго он работал.
Чтобы узнать время безотказной работы сервера, запустите команду mysqladmin .
Кроме того, можно остановить сервер, сделать отладку MySQL и снова запустить службу. Для отображения статистики процессов MySQL во время выполнения других процессов откройте окно командной строки и введите следующее:
Заключение
Самое важное при диагностике — понять, что именно вызвало ошибку. Следующие шаги помогут вам в этом:
- Первый и самый важный шаг — просмотреть журналы MySQL, которые хранятся в каталоге /var/log/mysql/ . Вы можете использовать утилиты командной строки вроде tail для чтения файлов журнала.
- Если служба MySQL не запускается, проверьте её состояние с помощью systemctl . Или используйте команду journalctl (с флагом -xe ) в systemd.
- Вы также можете проверить файл системного журнала (например, /var/log/messages ) на предмет обнаружения ошибок.
- Попробуйте использовать такие инструменты, как Mytop, glances, top, ps или htop, чтобы проверить, какая программа использует весь ресурс процессора или блокирует машину. Они также помогут определить нехватку памяти, дискового пространства, файловых дескрипторов или какого-либо другого важного ресурса.
- Если проблема в каком-либо процессе, можно попытаться его принудительно остановить, а затем запустить (при необходимости).
- Если вы уверены, что проблемы именно на стороне сервера, можете выполнить команды: mysqladmin -u root ping или mysqladmin -u root processlist , чтобы получить от него ответ.
- Если при подключении проблема не связана с сервером, проверьте, нормально ли работает клиент. Попробуйте получить какие-либо его выходные данные для устранения неполадок.
Источник
- Печать
Страницы: [1] 2 Все Вниз
Тема: [РЕШЕНО] mysql не стартует: ERROR 2002 (HY000) (Прочитано 101453 раз)
0 Пользователей и 1 Гость просматривают эту тему.
Sivka
После вырубания электроэнергии не стартовал mysql. Сайты просто не работают, mysqladmin:
root@lii273:/etc/init.d# mysqladmin -p status
Enter password:
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)'
Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!
root@lii273: sudo /etc/init.d/mysql start
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mysql start
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the start(8) utility, e.g. start mysql
start: Job is already running: mysql
root@lii273:~# mysql start
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
root@lii273:/# 110712 21:46:42 mysqld_safe Logging to syslog.
110712 21:46:42 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
110712 21:46:43 mysqld_safe mysqld from pid file /var/lib/mysql/lii273.pid ended
^C
[2]- Done mysqld_safe
Файл /var/run/mysqld/mysqld.sock не существует. Конфиги остались, базы остались. В процессах то висит, то нет:
root@lii273:/# ps ax | grep mysql
6247 pts/0 S+ 0:00 grep --color=auto mysql
Что проверить, что сделать?
Заранее спасибо.
—
Установлено:
root@lii273:/etc/init.d# dpkg -l | grep mysql
ii libdbd-mysql-perl 4.012-1ubuntu1 A Perl5 database interface to the MySQL database
ii libmysqlclient16 5.1.41-3ubuntu12.10 MySQL database client library
ii mysql-client 5.1.41-3ubuntu12.10 MySQL database client (metapackage depending on the
ii mysql-client-5.1 5.1.41-3ubuntu12.10 MySQL database client binaries
ii mysql-client-core-5.1 5.1.41-3ubuntu12.10 MySQL database core client binaries
ii mysql-common 5.1.41-3ubuntu12.10 MySQL database common files (e.g. /etc/mysql/my.cnf)
ii mysql-server 5.1.41-3ubuntu12.10 MySQL database server (metapackage depending on the
ii mysql-server-5.1 5.1.41-3ubuntu12.10 MySQL database server binaries
ii mysql-server-core-5.1 5.1.41-3ubuntu12.10 MySQL database core server files
ii php5-mysql 5.3.2-1ubuntu4.7 MySQL module for php5
Логи /var/log/mysql/error.log:
110712 22:08:57 [Note] Plugin 'FEDERATED' is disabled.
110712 22:08:57 InnoDB: Started; log sequence number 0 1115895063
110712 22:08:57 [ERROR] /usr/sbin/mysqld: unknown variable 'bind-adress=localhost'
110712 22:08:57 [ERROR] Aborting
110712 22:08:57 InnoDB: Starting shutdown...
110712 22:08:59 InnoDB: Shutdown completed; log sequence number 0 1115895063
110712 22:08:59 [Note] /usr/sbin/mysqld: Shutdown complete
« Последнее редактирование: 13 Июля 2011, 03:34:26 от Sivka »
thunderamur
мб поможет реконфигурация пакета
dpkg-reconfigure mysql-server
Sivka
мб поможет реконфигурация пакета
dpkg-reconfigure mysql-server
Не помогло, но увидел, что сам дурак.
Там я менял 127.0.0.1, поэтому была ошибка бинда на локалхост. Когда вернул обратно — выдал правильную ошибку.
110712 23:24:55 [Note] Plugin 'FEDERATED' is disabled.
110712 23:24:55 InnoDB: Started; log sequence number 0 1115895063
110712 23:24:55 [ERROR] /usr/sbin/mysqld: unknown option '--skip-innodb;'
110712 23:24:55 [ERROR] Aborting
110712 23:24:55 InnoDB: Starting shutdown...
110712 23:24:56 InnoDB: Shutdown completed; log sequence number 0 1115895063
110712 23:24:56 [Note] /usr/sbin/mysqld: Shutdown complete
Почему-то через service mysql выдаёт ошибку, что ключ —skip-innodb; неизвестен.
Если запустить теперь просто /usr/sbin/mysqld , то отлично работает. Надо будет с утра сервис поправить.
Спасибо.
rustler
root@sqlserver-01:/tmp/ispconfig3_install/install# /etc/init.d/mysql restart
* Stopping MySQL database server mysqld [ OK ]
* Starting MySQL database server mysqld [fail]
root@sqlserver-01:/tmp/ispconfig3_install/install# mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Эту ошибку при входе в mysql вылечил установкой бинда
apt-get install bind9
стало показывать это:
root@sqlserver-01:/home/rustler# /etc/init.d/mysql restart
* Stopping MySQL database server mysqld [ OK ]
* Starting MySQL database server mysqld [ OK ]
* Checking for tables which need an upgrade, are corrupt or were
not closed cleanly.
перезагрузил ось и стало показывать пока полет нормальный.
« Последнее редактирование: 02 Сентября 2014, 12:16:04 от rustler »
AnrDaemon
rustler, это не самое лучшее место для шуток.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.
Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…
rustler
извините но я новичок. не понимаю в чем соль! перепробовал микстур кучу из гугла! после каждой не сработавшей микстуры откатывался для чистоты эксперимента! mysql ставил на свежепоставленный сервер.
вы лучше раскритикуйте! чтобы я понял в чем неправ! банальное шарик ты балбес мне навыков не добавит как и ценность вашей информации.
« Последнее редактирование: 02 Сентября 2014, 15:24:40 от rustler »
AnrDaemon
BIND к MySQL никакого тношения не имеет. Вообще. Всё равно, что сообщать о том, что у вас кровь из носа течь перестала, когда вы вместо носок одели гольфы.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.
Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…
rustler
BIND и MySQL разные вещи! согласен. может это туфталогия и где-то я заблуждаюсь.
но действительно после установки бинда у меня перестал отваливаться mysql. про бинд меня натолкнула эта мысль коллеги
Там я менял 127.0.0.1, поэтому была ошибка бинда на локалхост. Когда вернул обратно — выдал правильную ошибку.
в /etc/hosts у меня прописаны все айпишники сети. днс сервера нет, все адреса статические!
localhost привязан к айпишнику сервера.
установлено было в хронологическом порядке: Ubuntu1404.1, ssh, vmwaretools, ntp, ntpdate, mysql-client, mysql-server, fail2ban, clamav, clamav-daemon.
как положено закоментил bind-address в /etc/mysql/my.cnf
появилась ошибка как у топик стартера! пошел курить гугл. ничего не выкурил!
Добавил bind9 заработало! 8(
могу сбросить листинг может подскажете что не так сделал!
« Последнее редактирование: 02 Сентября 2014, 20:44:47 от rustler »
victor00000
cat /etc/hosts
ifconfig lo
Пользователь решил продолжить мысль 02 Сентября 2014, 17:22:41:
ping -c2 localhost || echo "ERROR"
« Последнее редактирование: 02 Сентября 2014, 17:22:41 от victor00000 »
rustler
Извиняюсь за «ХХ». выкладываю то что ответил сервер.
root@sqlserver-01:/# cat /etc/hosts
127.0.0.1 localhost
#127.0.1.1 sqlserver-01
# The following lines are desirable for IPv6 capable hosts
#::1 localhost ip6-localhost ip6-loopback
#ff02::1 ip6-allnodes
#ff02::2 ip6-allrouters
# ISPConfigServers
192.168.1.101 ispconfig-01.XX.ru ispconfig-01
# WebServers
192.168.1.1XX webserver-01.XX.ru webserver-01
192.168.1.1XX webserver-02.XX.ru webserver-02
#192.168.1.1XX webserver-03.XX.ru webserver-03
#192.168.1.1XX webserver-04.XX.ru webserver-04
# FTP Servers
#192.168.1.1XX ftpserver-01.XX.ru ftpserver-01
#192.168.1.1XX ftpserver-02.XX.ru ftpserver-02
# Web proxy
#192.168.1.1XX webproxy-01.XX.ru webproxy-01
# DNS Servers
#192.168.1.1XX dnsserver-01.XX.ru dnsserver-01
# SQL Servers
192.168.1.1XX sqlserver-01.XX.ru sqlserver-01
192.168.1.1XX sqlserver-02.XX.ru sqlserver-02
# Mail Servers
#192.168.1.1XX mailserver-01.XX.ru mailserver-01
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
root@sqlserver-01:/# ifconfig lo
lo Link encap:Локальная петля (Loopback)
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:10463 errors:0 dropped:0 overruns:0 frame:0
TX packets:10463 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:915139 (915.1 KB) TX bytes:915139 (915.1 KB)
root@sqlserver-01:/# ping -c2 localhost || echo "ERROR"
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.017 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.026 ms
--- localhost ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.017/0.021/0.026/0.006 ms
root@sqlserver-01:/#
victor00000
root@lii273:/etc/init.d# mysqladmin -p status
Enter password:
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)'
Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!
v2@v2:~$
?
v2@v2:~$ mysqladmin -p status
Enter password:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'v2'@'localhost' (using password: YES)'
v2@v2:~$
v2@v2:~$ mysqladmin -uroot -p status
Enter password:
Uptime: 6653 Threads: 1 Questions: 144 Slow queries: 0 Opens: 471 Flush tables: 1 Open tables: 116 Queries per second avg: 0.021
v2@v2:~$
v2@v2:~$ sudo service mysql stop
[sudo] password for v2:
mysql stop/waiting
v2@v2:~$
v2@v2:~$ mysqladmin -p status
Enter password:
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'
Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!
v2@v2:~$
v2@v2:~$ mysqladmin -uroot -p status
Enter password:
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'
Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!
v2@v2:~$
v2@v2:~$ sudo service mysql start
mysql start/running, process 2756
v2@v2:~$
v2@v2:~$ mysqladmin -uroot -p status
Enter password:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: YES)'
v2@v2:~$
v2@v2:~$ mysqladmin -uroot -p status
Enter password:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: YES)'
v2@v2:~$
v2@v2:~$ mysqladmin -uroot -p status
Enter password:
Uptime: 32 Threads: 1 Questions: 142 Slow queries: 0 Opens: 471 Flush tables: 1 Open tables: 116 Queries per second avg: 4.437
v2@v2:~$
v2@v2:~$
rustler
неа сейчас работает! могу откатиться и проверить! что выдаст.
root@sqlserver-01:/# mysqladmin -p status
Enter password:
Uptime: 16100 Threads: 3 Questions: 23649 Slow queries: 0 Opens: 1053 Flush tables: 1 Open tables: 267 Queries per second avg: 1.468
root@sqlserver-01:/# mysqladmin -p status
Enter password:
Uptime: 16116 Threads: 2 Questions: 23654 Slow queries: 0 Opens: 1053 Flush tables: 1 Open tables: 267 Queries per second avg: 1.467
root@sqlserver-01:/#
root@sqlserver-01:/# service mysql stop
mysql stop/waiting
root@sqlserver-01:/# mysqladmin -p status
Enter password:
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'
Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!
root@sqlserver-01:/# service mysql start
mysql start/running, process 19698
root@sqlserver-01:/# mysqladmin -p status
Enter password:
Uptime: 19 Threads: 3 Questions: 335 Slow queries: 0 Opens: 1027 Flush tables: 1 Open tables: 255 Queries per second avg: 17.631
root@sqlserver-01:/#
« Последнее редактирование: 02 Сентября 2014, 20:49:46 от rustler »
victor00000
rustler
сделал как у вас в том числе и горячий резет все поднялось! но как я писал почему-то только после установки бинда 8(
Спасибо за помощь!!!!!!
Galina81
У меня эта ошибка проявлялась только на сайте (apache+php+mysql) при попытке коннекта к базе, в консоли коннект к mysql проходил нормально.
В итоге оказалось, что не стоял php, но апач работал с php через модуль libphp5.so. Кривые руки администратора…
Вылечилось все установкой php и php-mysql из дистрибутива, настройкой php и перезапуском apache.
- Печать
Страницы: [1] 2 Все Вверх
I’m getting this error
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysql.sock' (2)
even though I have managed to start mysql via command line in ubuntu
mysql stop/waiting
mysql start/running, process 17691
However when attempting to access the site I get a database connection error as well as the above error when trying to access mysql via mysql -u root -p
I checked my error logs and I saw this
131029 12:53:34 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be remo$
131029 12:53:34 [Note] Plugin 'FEDERATED' is disabled.
131029 12:53:34 InnoDB: The InnoDB memory heap is disabled
131029 12:53:34 InnoDB: Mutexes and rw_locks use GCC atomic builtins
131029 12:53:34 InnoDB: Compressed tables use zlib 1.2.3.4
131029 12:53:34 InnoDB: Initializing buffer pool, size = 26.0G
131029 12:53:36 InnoDB: Completed initialization of buffer pool
131029 12:53:36 InnoDB: highest supported file format is Barracuda.
131029 12:53:38 InnoDB: Waiting for the background threads to start
131029 12:53:39 InnoDB: 5.5.34 started; log sequence number 5146431500
131029 12:53:39 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
131029 12:53:39 [Note] - '0.0.0.0' resolves to '0.0.0.0';
131029 12:53:39 [Note] Server socket created on IP: '0.0.0.0'.
131029 12:53:39 [Note] Event Scheduler: Loaded 0 events
131029 12:53:39 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.5.34-0ubuntu0.12.04.1-log' socket: '/var/run/mysqld/mysqld.sock' port: 3306 (Ubuntu)
It’s the first time I see this error and I’m not sure how to solve this issue, please help me out a bit here.
Thanks
UPDATE
Okay I tried glglgl’s solution and after a restart, I get the following in the error log:
131029 13:17:36 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be remo$
131029 13:17:36 [Note] Plugin 'FEDERATED' is disabled.
131029 13:17:36 InnoDB: The InnoDB memory heap is disabled
131029 13:17:36 InnoDB: Mutexes and rw_locks use GCC atomic builtins
131029 13:17:36 InnoDB: Compressed tables use zlib 1.2.3.4
131029 13:17:36 InnoDB: Initializing buffer pool, size = 26.0G
131029 13:17:38 InnoDB: Completed initialization of buffer pool
131029 13:17:38 InnoDB: highest supported file format is Barracuda.
131029 13:17:40 InnoDB: Waiting for the background threads to start
131029 13:17:41 InnoDB: 5.5.34 started; log sequence number 5146431500
131029 13:17:41 [Note] Server hostname (bind-address): '127.0.0.1'; port: 3306
131029 13:17:41 [Note] - '127.0.0.1' resolves to '127.0.0.1';
131029 13:17:41 [Note] Server socket created on IP: '127.0.0.1'.
131029 13:17:41 [Note] Event Scheduler: Loaded 0 events
131029 13:17:41 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.5.34-0ubuntu0.12.04.1-log' socket: '/var/run/mysqld/mysqld.sock' port: 3306 (Ubuntu)
asked Oct 29, 2013 at 12:58
user2028856user2028856
3,0038 gold badges44 silver badges70 bronze badges
6
My problem was solved checking if the process was running on Ubuntu 12.04
ps ax | grep mysql
Then the answer was that it wasn’t running, so I did
sudo service mysql start
Or try
sudo /etc/init.d/mysql start
answered Dec 14, 2013 at 13:37
5
Firstly, please confirm mysql-server is installed. I have the same error when mysql-server is installed but corrupted somehow. I do the trick by uninstall mysql completely and reinstall it.
sudo apt-get remove --purge mysql*
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get install mysql-server mysql-client
answered Apr 9, 2016 at 10:44
johnnyjohnny
5,0171 gold badge16 silver badges9 bronze badges
2
This took me ages to figure out but could you try the same —
1 — Update and Upgrade
sudo apt-get update
sudo apt-get upgrade
2 — Purge MySQL Server and Client (if installed).
sudo apt-get purge mysql-server mysql-client
3 — Install MySQL Server and Client fresh
sudo apt-get install mysql-server mysql-client
4 — Test MySQL
mysql -u root -p
> enter root password
*** should get socket not found in /var/run/mysqld/mysql.sock
4 — Configure mysqld.cnf with nano of vi
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Change bind-address from 127.0.0.1 to localhost
bind-address = localhost
** Write and Exit
5 — Restart MySQL
sudo /etc/init.d/mysql restart
6 — check mysql
mysql -u root -p
> enter root password
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 4
Server version: 5.7.13-0ubuntu0.16.04.2 (Ubuntu)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
mysql>
You should get in to mysql cli now.
Hope this helps
Code.Ph0y
answered Sep 10, 2016 at 4:56
Code Ph0yCode Ph0y
1631 silver badge5 bronze badges
I had the same problem when i installed xampp on my system. The mysql server looks for /var/run/mysqld/mysqld.sock but the mysql.sock file was in xampp folder so i used
find / -name '*.sock'
to find the mysql.sock file and then used
ln -s <the file location> /var/run/mysqld/mysqld.sock
to get a link for the *.sock file then tried mysql and it ran without error.
Hope this could solve yours.
Remember to create the directory if it does not exists.
answered Oct 30, 2013 at 9:15
krg265krg265
3791 silver badge10 bronze badges
1
The client should be set consistent with server setting.
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
answered Dec 25, 2013 at 2:39
feuyeuxfeuyeux
1,1481 gold badge9 silver badges24 bronze badges
3
You don’t need to reinstall MySQL server
I was facing the same issue but I have resolved the issue by running these commands.
ps -A|grep mysql
sudo pkill mysql
ps -A|grep mysqld
sudo pkill mysqld
sudo service mysql restart
mysql -u root -p
eapo
1,0151 gold badge18 silver badges40 bronze badges
answered Jan 10, 2019 at 9:27
1
recently i have faced with this error in my mysql
ERROR 2002 (HY000)
:
Can’t connect to local MySQL server through socket
‘/var/lib/mysql/mysql.sock’ (111)
because i forget to start my mariadb.
just type this command on ur terminal.
systemctl start mariadb.service
answered Nov 30, 2015 at 4:24
0
In the linux terminal, I run the following steps and they helped me out
1.First of all list all the mysql packages installed
sudo dpkg -l | grep mysql
2.Delete the listed packages with the listed command
sudo apt-get --purge autoremove <package name>
3.Reinstall mysql server
sudo apt-get install mysql-server
This worked for me, Hope this works for you aswell.
Alternatively Try
sudo apt-get remove --purge mysql-
then reinstall with
sudo apt-get install mysql-server mysql-client
answered Jan 2, 2018 at 12:02
Maurice ElaguMaurice Elagu
7541 gold badge10 silver badges20 bronze badges
I deleted everything connected to mysql with
sudo apt-get remove —purge —auto-remove mysql-client-5.7 mysql-client-core-5.7 mysql-common mysql-server-5.7
sudo rm -r /etc/mysql* /var/lib/mysql* /var/log/mysql*
and then reinstalled it again with
sudo apt-get update
sudo apt-get install mysql-server
and then started it with
mysql -u root -p
followed by the password
answered May 30, 2018 at 14:02
schlusieschlusie
1,8872 gold badges20 silver badges26 bronze badges
0
I have follow Wellington Lorindo posting.
And My problem was solved.
Steps
1. run in terminal
ps ax | grep mysql
Result was
11200 ? Ssl 0:01 /usr/sbin/mysqld
11514 pts/0 S+ 0:00 grep mysql
Steps
2. Again type this
sudo service mysql start
And problem solved.
Thanks Wellington Lorindo
answered Aug 23, 2014 at 8:27
0
You may be missing mysql-server. install it using
sudo apt-get install mysql-server
answered Sep 2, 2015 at 9:28
Ranju RRanju R
2,28719 silver badges16 bronze badges
1
This is an old tread with different solution proposed, but none of them worked for me. I’m adding this answer in the hope it will help somebody who struggled as me for some time.
I’ve checked all the existing answers and all the existing solution, but for me the issue was incorrect user permission on var/run/mysql
folder.
I’ve checked the user permission on that folder and it was set to root
. Once i changed to mysql:mysql
the problem has gone.
So enter into /var/run/mysqld
and change the user permission to:
chown -R mysql:mysql .
answered Nov 27, 2016 at 15:18
Endre SimoEndre Simo
11.2k2 gold badges38 silver badges48 bronze badges
0
I had the problem.
This process worked for me:
Ensure that during remove process you choose No to deleting database.
sudo apt-get remove --purge mysql*
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get install mysql-server mysql-client
Renil Babu
1,8901 gold badge20 silver badges29 bronze badges
answered Sep 7, 2017 at 15:16
I had the same problem after altering my.cnf. I resolved this problem next steps.
First : to find the location of error.log, look at ‘my.conf’.
Second : I looked up error.log, I found next massages,
«unknown variable ‘default-……’ »
…..
» mysqld_safe Starting mysqld darmon with from /var/lib/mysql «
Third : I reset my.conf to the default, then restart, this problem was resolved.
I hope this helps.
answered Mar 3, 2014 at 3:43
The same error occured with my system as well. I had to remove mysql-server and reinstall it. Not other way around. Try running these commands it it works:
- sudo apt-get purge mysql-server
- sudo apt-get autoremove
- sudo apt-get install mysql-server
Serjik
10.3k7 gold badges63 silver badges70 bronze badges
answered Jan 7, 2016 at 4:53
0
this worked for me
sudo /etc/init.d/mysql start
first i tried this, but i dont understand why it doesn’t work this way
sudo service mysql start
answered Aug 27, 2016 at 16:10
aimmeaimme
6,1556 gold badges47 silver badges63 bronze badges
On Debian this was a bind problem for me so changing bind-address
from localhost
to 0.0.0.0 helped.
vim /etc/mysql/my.cnf
bind-address = 0.0.0.0
answered Jul 12, 2017 at 6:51
AchuAchu
8091 gold badge8 silver badges14 bronze badges
1
If you look close, you’ll see the difference:
- The server listens on
/var/run/mysqld/mysqld.sock
- The client tries to connect to
/var/run/mysqld/mysql.sock
You’ll have to adjust the one or the other.
answered Oct 29, 2013 at 13:04
glglglglglgl
87.8k12 gold badges147 silver badges217 bronze badges
4
I also met this problem.
mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)
Then I find the reason is my selinux
is enforcing, I disable it then restart mysqld
, it works, hope helpful.
Neeku
3,6308 gold badges33 silver badges43 bronze badges
answered Apr 21, 2014 at 9:45
1
There is another chance of you to get this particular error if you modify the max_connections
in my.cnf
file.
I also faced the same error which did not let me log in to MySQL server. In my case the problem was, I had to increase the max_connections
size in
/etc/mysql/my.cnf
to
set-variable = max_connections = 5000
Due to this reason next day when I stared MySQL server it threw this error
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Removing the set-variable = max_connections = 5000
segment from my.conf
file did the trick. After removing that particular segment following command was used. MySQL server started up and running like previously.
sudo /etc/init.d/mysql start
answered Feb 8, 2015 at 3:01
Du-LacosteDu-Lacoste
10.7k2 gold badges64 silver badges50 bronze badges
Try this:
sudo dpkg-reconfigure mysql-server-{version_number}
version_number
should be mysql version number. For example
sudo dpkg-reconfigure mysql-server-5.6
Then access mysql like this:
mysql -u root -p
Llazar
2,9573 gold badges16 silver badges24 bronze badges
answered Nov 2, 2018 at 9:10
If you are using wsl on windows 10 with ubuntu you can run:
sudo /etc/init.d/mysql start
the commandsudo service start mysql
wont work because you need to configure it. You can find how here
answered Nov 21, 2021 at 17:45
petupetu
111 silver badge1 bronze badge
Two main reasons:
1) mysql-server isn’t installed! You have to install it (mysql-server and not mysql-client) and run it.
2) It’s installed by default and running. So, it’s not possible to run it again through Xampp or Lampp. You have to stop it:
sudo service mysql stop
then you can start it through Xampp.
It’s possible to check if it’s running or not with this code:
sudo netstat -tap | grep mysql
If you see a result like this:
tcp 0 0 localhost:mysql : LISTEN 1043/mysqld
It means that it’s running properly.
answered Jul 26, 2015 at 21:49
make sure the bind address configuration option in the my.cnf file in /etc/ is the same with localhost or virtual serve ip address.
plus check to make sure that the directory for creating the socket file is well specified.
answered Oct 7, 2015 at 13:46
This provides an alternative solution if the issue relates to you. If your disk drive is full than the MYSQL server (and most other programmes) is unable to start. Delete files and folders to allow Mysql-server to start up.
answered Dec 4, 2015 at 13:57
Simple:
run these codes:::
1:: ls -lart/var/run/my*
2::mkdir /var/run/mysqld
3::touch /var/run/mysqld/mysqld.sock
4:ls -lart /var/run/mysqld
5::chown -R mysql /var/run/mysqld
6::ls -lart /var/run/mysqld
REstart your mysql server
then finaly type mysql -u root or mysql -u root -p and press enter key. thanks
answered Mar 1, 2016 at 23:34
In my case the problem was that I had added «default-character-set=utf8» to my.cnf and that was corrupting the file. Instead change that line for «character_set_server=utf8». That should solve it, hope this helps.
Tim Ogilvy
1,8951 gold badge24 silver badges36 bronze badges
answered Apr 2, 2016 at 11:22
Note that I ran into this trouble after I upgraded my Ubuntu 14.04 distribution using apt-get upgrade
. I had to completely purge mysql-server
and mysql-client
and reinstall it to fix this issue.
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get purge mysql-server mysql-client
sudo apt-get install mysql-server mysql-client
Hope this helps.
answered Aug 6, 2016 at 20:38
This problem will occurred due to some unnecessary changes made in my.cnf file.
Try to diff /etc/mysql/my.cnf
with one of working mysql servers my.cnf file.
I just replaced /etc/mysql/my.cnf
file with new my.cnf file and this works for me.
ST3
8,6223 gold badges64 silver badges91 bronze badges
answered Sep 29, 2016 at 7:14
sachinsachin
3592 silver badges16 bronze badges
I was stuck with this error too, and it took almost 3 hours to find it.
First of all, try to recall the changes that you made to your conf file, then undo the changes and save the file and start mysql. If you want to make any changes to the conf file, then stop mysql server and then change the desired values and restart mysql.
This error occurs because of an incorrect (wrong keyword or wrong value assigned) change made to the conf file. Most of the times this error occurs even if you restart the machine running the server, as the server is stopped, in that case, start mysql server.
Eric Aya
69.1k35 gold badges179 silver badges250 bronze badges
answered May 18, 2017 at 13:38
Содержание
- Почему не получается установить mysql и phpmyadmin?
- Linux Mint Forums
- [SOLVED] Reinstall php/mysql/apache
- [SOLVED] Reinstall php/mysql/apache
- Re: Reinstall php/mysql/apache
- Re: Reinstall php/mysql/apache
- Re: Reinstall php/mysql/apache
- Re: Reinstall php/mysql/apache
- Re: Reinstall php/mysql/apache
- Ошибка phpmyadmin 1064 (42000) во время установки
- Install phpMyAdmin with LAMP stack on Ubuntu 16.04
- Install phpMyAdmin with LAMP stack in Ubuntu 16.04 LTS
- Access phpMyAdmin dashboard
- How to Fix “MySQL ERROR 1819 (HY000):” in Linux
- How to Solve MySQL ERROR 1819 (HY000) in Linux
- How to Change MySQL Password Validation Policy
- If You Appreciate What We Do Here On TecMint, You Should Consider:
Почему не получается установить mysql и phpmyadmin?
При установке Mysql указывал пароль.Установка mysql завершилась
dpkg: error processing package mysql-server (—configure):
dependency problems — leaving unconfigured
Processing triggers for libc-bin (2.19-0ubuntu6.14) .
Errors were encountered while processing:
mysql-server-5.5
mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)
Не обращая внимания,я пошел ставить phpmyadmin.
Ввел пароль,все дела.Но,видать из-за ошибки с mysql не получилась установка phpmyadmin.
Creating config file /etc/phpmyadmin/config-db.php with new version
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2).
unable to connect to mysql server.
error encountered creating user:
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)
An error occurred while installing the database:
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket
‘/var/run/mysqld/mysqld.sock’ (2)
If at this point you choose «retry», you will be prompted with all the
configuration questions once more and another attempt will be made at performing
the operation. «retry (skip questions)» will immediately attempt the operation
again, skipping all questions. If you choose «abort», the operation will fail
and you will need to downgrade, reinstall, reconfigure this package, or
otherwise manually intervene to continue using it. If you choose «ignore», the
operation will continue, ignoring further errors from dbconfig-common.
1. abort 2. retry 3. retry (skip questions) 4. ignore
Источник
Linux Mint Forums
Welcome to the Linux Mint forums!
[SOLVED] Reinstall php/mysql/apache
[SOLVED] Reinstall php/mysql/apache
Post by markos2xx » Fri Sep 07, 2012 2:40 pm
Re: Reinstall php/mysql/apache
Post by oobetimer » Fri Sep 07, 2012 2:47 pm
Re: Reinstall php/mysql/apache
Post by markos2xx » Fri Sep 07, 2012 3:32 pm
Re: Reinstall php/mysql/apache
Post by oobetimer » Fri Sep 07, 2012 4:12 pm
You need to remove Apache completely before an re-installation.
sudo apt-get purge apache2
Re: Reinstall php/mysql/apache
Post by markos2xx » Fri Sep 07, 2012 4:48 pm
Re: Reinstall php/mysql/apache
Post by oobetimer » Fri Sep 07, 2012 5:05 pm
sudo apt-get remove —purge mysql*
you can delete anything related to packages named mysql. Those commands is only valid on debian / debian based linux distributions (for eg. ubuntu).
You can list all mysql packages installed with:
sudo dpkg -l | grep -i mysql
For more cleanup for package cache you can:
sudo apt-get clean
Remember to:
sudo updatedb
Otherwise the «locate» command will display old data.
To install mysql again, use the following command:
sudo apt-get install libmysqlclient-dev mysql-client
This will install mysql client, libmysql and its headers files.
To install the server, run this one:
sudo apt-get install mysql-server
Источник
Ошибка phpmyadmin 1064 (42000) во время установки
Меня смущает ошибка при установке phpmyadmin на сервере Debian с уже установленным и настроенным MySQL. Я уже пытался удалить последние неудачные установки phpmyadmin, но я не могу его установить.
Я также уже искал общие вопросы, пытаясь исправить файлы phpmyadmin как https://serverfault.com/questions/341116/setting-up-phpmyadmin-got-a-mysql-syntax-error, но каждый вызов timestamp верен без значений ( timestamp(value) кажется неправильным).
Если бы кто-нибудь мог мне помочь, я был бы очень благодарен!
Какую версию Debian вы используете? Вы используете MySQL или MariaDB, и установлен ли он через диспетчер пакетов или вы установили его самостоятельно каким-либо другим способом?
Debian 9 (Stretch) (64 бит), с использованием MySQL, установленного с помощью apt-get
Хорошо, я решил свою проблему, выполнив следующие действия:
Полное удаление phpmyadmin и mysql:
sudo remove phpmyadmin + sudo remove mysql
sudo purge phpmyadmin + sudo purge mysql )
Обновление dist: sudo apt-get dist-upgrade
Переустановка всего (phpmyadmin + mysql)
Позже у меня были другие проблемы, связанные с пользователями и паролями в phpmyadmin, но я решил их с помощью этого запроса:
mysql -u root mysql
UPDATE user SET Password=PASSWORD(‘YOURNEWPASSWORD’) WHERE User=’root’;
вы имеете в виду sudo apt-get remove phpmyadmin и т. д.
Год спустя у меня такая же ошибка на ubuntu18 и mysql8
если вы используете или обновляетесь до MySQL 8, плагином аутентификации по умолчанию является caching_sha2_password
Отредактируйте /etc/mysql/my.cnf или /etc/mysql/mysql.conf.d/mysqld.cnf
Добавьте следующую строку под [mysqld]
Затем перезапустите службу mysql и подключитесь к MySQL.
Затем выполните следующие команды и замените «пароль» на «свой пароль root».
Я действительно боролся с этой проблемой при настройке сервера на Цифровой океан. Мне нужен был сервер для размещения приложения Laravel. В основном мне пришлось настроить свой сервер, установив Nginx с помощью этого Руководство, затем я установил MYSQL версии 8.0.22 с помощью этого Руководство (в основном последняя доступная версия — что обычно приводит к этой ошибке), затем я установил PHP7.4, используя этот Руководство, из которого также потребовалось проверить статья DigitalOcean для настроить php процессор для Nginx с использованием того же Руководство, который я использовал для установки Nginx.
На этом этапе я хотел установить phpMyAdmin, и это не удалось с той же ошибкой, я прочитал все статьи, которые мог найти на Digital Ocean, Stackoverflow и других форумах, и ни одно решение не помогло. Я обнаружил, что могу загрузить phpMyAdmin версии 5.0.4 или выше (в основном последнюю версию) с официального сайта, так как он будет более совместим с MYSQL версии 8.0.22. Я следил за этим Руководство точно до установить phpMyAdmin вручную вместо автоматического и все заработало отлично!. Я смог открыть phpMyAdmin в браузере и даже войти в систему, используя root и пароль. Я создал другого пользователя, как указано в руководстве, и также смог войти в систему, используя этого нового пользователя.
Источник
Install phpMyAdmin with LAMP stack on Ubuntu 16.04
phpMyAdmin is a free, open source web-based database management tool written using PHP programming language. It allows the database administrators to manage single or multiple database servers either from a local or remote system using a web browser. Using phpMyAdmin, we can create, delete, rename, edit databases, tables, fields, and also we can directly execute any SQL commands. Currently, It supports MySQL, MariaDB, and Drizzle database servers. In this tutorial, we will see how to install phpMyAdmin with LAMP stack in Ubuntu 16.04 lTS server.
Install phpMyAdmin with LAMP stack in Ubuntu 16.04 LTS
First, Setup LAMP stack in your Ubuntu 16.04 LTS server as described in the following link.
phpMyAdmin is available in the default repositories of Ubuntu operating system. Once LAMP stack is installed and ready, install phpMyAdmin as shown below:
During installing, you’ll be asked to choose the web server that should be automatically configured to run phpMyAdmin. In our case, it is Apache webserver.
Choose apache2 and click OK.
Select Yes and hit ENTER to configure database for phpmyadmin with dbconfig-common.
Enter a password for phpmyadmin to register with the database server. If left blank, a random password will be generated.
Re-enter the password to confirm:
Oops! You might be encountered with the following error message:
To fix this issue, click OK and abort the phpMyAdmin installation.
Log in to MariaDB or MySQL prompt with root user using command:
Create a new database and database user for phpMyAdmin and grant full permission to the phpmyadmin user.
For the purpose of this tutorial, I am going to create a database called «phpmyadmindb», and database user «phpmyadminuser» with password «ubuntu». Please use a strong password which is very hard to guess in the production environment.
Then, edit phpmyadmin/config-db.php file:
Replace the database name, database user and its password with the values that you have created earlier.
Save and close the file.
Next, you must install the following php modules. Otherwise, you will get an error message that says:
The mbstring extension is missing. Please check your PHP configuration.
To install php modules, run:
Then, edit Apache webserver config file:
Add the following line at the end:
Save and close the file. Restart apache service to take effect the changes.
Access phpMyAdmin dashboard
Open up the web browser and navigate to http://IP-Address/phpmyadmin.
You should see the following screen. Enter the MariaDB/MySQL ‘root’ user name and its password.
Congrats! This is how the phpMyAdmin dashboard looks like.
From here, you can create, delete, rename, and manage the databases easily.
You might want to download our free guides related to database, and PHP.
Источник
How to Fix “MySQL ERROR 1819 (HY000):” in Linux
When creating a MySQL user with a relatively weak password, you might encounter the error ‘MySQL ERROR 1819 (HY000): Your password does not satisfy the current policy requirements’. Technically, this is not an error, but a notification that you are using a password that does not meet the recommended password policy requirements.
In other words, you are using a weak password that can easily be guessed or brute-forced. The built-in security mechanism discourages users from creating weak passwords which can render your database prone to breaches.
For example, I ran into the error when creating a user as shown
MySQL ERROR 1819 (HY000)
It’s a no brainer that the password is extremely weak and can present a security risk.
How to Solve MySQL ERROR 1819 (HY000) in Linux
The MySQL database ships with a validate_password plugin which when enabled, enforces a password validation policy. There are 3 levels of password validation policy that are enforced by the plugin.
- LOW: Allows users to set a password of 8 or fewer characters.
- MEDIUM: Allows users to set a password of 8 or fewer characters with mixed cases and special characters.
- STRONG: Allows users to set a password that has all the attributes of a medium-level password with the inclusion of a dictionary file.
By default, the password policy is set to MEDIUM. You can confirm the password policy level, by executing the command:
Check Mysql Password Policy
If you run the command and get the output empty set, then the plugin is not enabled yet.
To enable the validate_password plugin, run the commands below.
To confirm that the plugin is activated, run the command.
You should get the output shown below:
Enable Mysql Password Policy
To resolve the issue, you need to set the password validation policy to the lowest level. I know this sounds counterintuitive as it creates an avenue for setting weak passwords which can ultimately cause your database to be compromised by hackers.
However, if you still insist on having your way, here’s what you can do.
How to Change MySQL Password Validation Policy
To resolve the MySQL ERROR 1819 (HY000) error, set a lower password validation policy as shown.
You can thereafter confirm the password validation policy level.
Change Mysql Password Policy
Now you can proceed and assign a relatively weak password as per your wish.
To revert to the ‘MEDIUM’ password policy level, simply invoke the command:
Conclusion
Personally, I wouldn’t recommend setting a lower level password policy for obvious reasons. Whether it’s a normal user or a database user, it’s recommended to always set a strong MySQL password with more than 8 characters with a mix of uppercase, lowercase, numeric and special characters.
This guide is for the sake of those who want to know how to navigate such an error, otherwise, setting a strong password is always recommended.
Tutorial Feedback.
If You Appreciate What We Do Here On TecMint, You Should Consider:
TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.
If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.
We are thankful for your never ending support.
Источник
MySQL — система управления базами данных (СУБД) с открытым исходным кодом от компании Oracle. Она была разработана и оптимизирована специально для работы веб-приложений. MySQL является неотъемлемой частью таких веб-сервисов, как Facebook, Twitter, Wikipedia, YouTube и многих других.
Эта статья расскажет, как определять, с чем связаны частые ошибки на сервере MySQL, и устранять их.
Не удаётся подключиться к локальному серверу
Одной из распространённых ошибок подключения клиента к серверу является «ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)».
Эта ошибка означает, что на хосте не запущен сервер MySQL (mysqld
) или вы указали неправильное имя файла сокета Unix или порт TCP/IP при попытке подключения.
Убедитесь, что сервер работает. Проверьте процесс с именем mysqld
на хосте сервера, используя команды ps или grep, как показано ниже.
$ ps xa | grep mysqld | grep -v mysqld
Если эти команды не показывают выходных данных, то сервер БД не работает. Поэтому клиент не может подключиться к нему. Чтобы запустить сервер, выполните команду systemctl.
$ sudo systemctl start mysql #Debian/Ubuntu
$ sudo systemctl start mysqld #RHEL/CentOS/Fedora
Чтобы проверить состояние службы MySQL, используйте следующую команду:
$ sudo systemctl status mysql #Debian/Ubuntu
$ sudo systemctl status mysqld #RHEL/CentOS/Fedora
Если в результате выполнения команды произошла ошибка службы MySQL, вы можете попробовать перезапустить службу и ещё раз проверить её состояние.
$ sudo systemctl restart mysql
$ sudo systemctl status mysql
Если сервер работает (как показано) и вы по-прежнему видите эту ошибку, вам следует проверить, не заблокирован ли порт TCP/IP брандмауэром или любой другой службой блокировки портов.
Для поиска порта, который прослушивается сервером, используйте команду netstat
.
$ sudo netstat -tlpn | grep "mysql"
Ещё одна похожая и часто встречающаяся ошибка подключения — «(2003) Can’t connect to MySQL server on ‘server’ (10061)». Это означает, что в сетевом соединении было отказано.
Следует проверить, работает ли в системе сервер MySQL (смотрите выше) и на тот ли порт вы подключаетесь (как найти порт, можно посмотреть выше).
Похожие частые ошибки, с которыми вы можете столкнуться при попытке подключиться к серверу MySQL:
ERROR 2003: Cannot connect to MySQL server on 'host_name' (111)
ERROR 2002: Cannot connect to local MySQL server through socket '/tmp/mysql.sock' (111)
Ошибки запрета доступа в MySQL
В MySQL учётная запись (УЗ) определяется именем пользователя и клиентским хостом, с которого пользователь может подключиться. УЗ может также иметь данные для аутентификации (например, пароль).
Причин для запрета доступа может быть много. Одна из них связана с учётными записями MySQL, которые сервер разрешает использовать клиентским программам при подключении. Это означает, что имя пользователя, указанное в соединении, может не иметь прав доступа к базе данных.
В MySQL есть возможность создавать учётные записи, позволяющие пользователям клиентских программ подключаться к серверу и получать доступ к данным. Поэтому при ошибке доступа проверьте разрешение УЗ на подключение к серверу через клиентскую программу.
Увидеть разрешённые привилегии учётной записи можно, выполнив в консоли команду SHOW GRANTS
Входим в консоль (пример для Unix, для Windows консоль можно найти в стартовом меню):
В консоли вводим команду:
> SHOW GRANTS FOR 'tecmint'@'localhost';
Дать привилегии конкретному пользователю в БД по IP-адресу можно, используя следующие команды:
> grant all privileges on *.test_db to 'tecmint'@'192.168.0.100';
> flush privileges;
Ошибки запрещённого доступа могут также возникнуть из-за проблем с подключением к MySQL (см. выше).
Потеря соединения с сервером MySQL
С этой ошибкой можно столкнуться по одной из следующих причин:
- плохое сетевое соединение;
- истекло время ожидания соединения;
- размер BLOB больше, чем
max_allowed_packet
.
В первом случае убедитесь, что у вас стабильное сетевое подключение (особенно, если подключаетесь удалённо).
Если проблема с тайм-аутом соединения (особенно при первоначальном соединении MySQL с сервером), увеличьте значение параметра connect_timeout
.
В случае с размером BLOB нужно установить более высокое значение для max_allowed_packet
в файле конфигурации /etc/my.cnf
в разделах [mysqld]
или [client]
как показано ниже.
[mysqld]
connect_timeout=100
max_allowed_packet=500M
Если файл конфигурации недоступен, это значение можно установить с помощью следующей команды.
> SET GLOBAL connect_timeout=100;
> SET GLOBAL max_allowed_packet=524288000;
Слишком много подключений
Эта ошибка означает, что все доступные соединения используются клиентскими программами. Количество соединений (по умолчанию 151) контролируется системной переменной max_connections
. Устранить проблему можно, увеличив значение переменной в файле конфигурации /etc/my.cnf
.
[mysqld]
max_connections=1000
Недостаточно памяти
Если такая ошибка возникла, это может означать, что в MySQL недостаточно памяти для хранения всего результата запроса.
Сначала нужно убедиться, что запрос правильный. Если это так, то нужно выполнить одно из следующих действий:
- если клиент MySQL используется напрямую, запустите его с ключом
--quick switch
, чтобы отключить кешированные результаты; - если вы используете драйвер MyODBC, пользовательский интерфейс (UI) имеет расширенную вкладку с опциями. Отметьте галочкой «Do not cache result» (не кешировать результат).
Также может помочь MySQL Tuner. Это полезный скрипт, который подключается к работающему серверу MySQL и даёт рекомендации по настройке для более высокой производительности.
$ sudo apt-get install mysqltuner #Debian/Ubuntu
$ sudo yum install mysqltuner #RHEL/CentOS/Fedora
$ mysqltuner
MySQL продолжает «падать»
Если такая проблема возникает, необходимо выяснить, заключается она в сервере или в клиенте. Обратите внимание, что многие сбои сервера вызваны повреждёнными файлами данных или индексными файлами.
Вы можете проверить состояние сервера, чтобы определить, как долго он работал.
$ sudo systemctl status mysql #Debian/Ubuntu
$ sudo systemctl status mysqld #RHEL/CentOS/Fedora
Чтобы узнать время безотказной работы сервера, запустите команду mysqladmin
.
$ sudo mysqladmin version -p
Кроме того, можно остановить сервер, сделать отладку MySQL и снова запустить службу. Для отображения статистики процессов MySQL во время выполнения других процессов откройте окно командной строки и введите следующее:
$ sudo mysqladmin -i 5 status
Или
$ sudo mysqladmin -i 5 -r status
Заключение
Самое важное при диагностике — понять, что именно вызвало ошибку. Следующие шаги помогут вам в этом:
- Первый и самый важный шаг — просмотреть журналы MySQL, которые хранятся в каталоге
/var/log/mysql/
. Вы можете использовать утилиты командной строки вродеtail
для чтения файлов журнала. - Если служба MySQL не запускается, проверьте её состояние с помощью
systemctl
. Или используйте командуjournalctl
(с флагом-xe
) в systemd. - Вы также можете проверить файл системного журнала (например,
/var/log/messages
) на предмет обнаружения ошибок. - Попробуйте использовать такие инструменты, как Mytop, glances, top, ps или htop, чтобы проверить, какая программа использует весь ресурс процессора или блокирует машину. Они также помогут определить нехватку памяти, дискового пространства, файловых дескрипторов или какого-либо другого важного ресурса.
- Если проблема в каком-либо процессе, можно попытаться его принудительно остановить, а затем запустить (при необходимости).
- Если вы уверены, что проблемы именно на стороне сервера, можете выполнить команды:
mysqladmin -u root ping
илиmysqladmin -u root processlist
, чтобы получить от него ответ. - Если при подключении проблема не связана с сервером, проверьте, нормально ли работает клиент. Попробуйте получить какие-либо его выходные данные для устранения неполадок.
Перевод статьи «Useful Tips to Troubleshoot Common Errors in MySQL»
Привет товарищи,
спокойно себе жил почти год сервер на ubuntu 14 c лампой на борту, на сервере 2 сайта wordpress. Вчера вечерком я обнаружил что сайт не может соединится с базой данных, при попытке войти в mysql через терминал — выдало ошибку
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
порылся на форуме , почитал рекомендации — сделал, результата нету. Сервер предоставляет компания Digital Ocean — накатил бекап 3ех дневной давности — все запустилось и через 1 минуту опять мускуль свернулся. С бекапами старее та же история.
Не стартует mysql-server
Подскажите пожалуйста, в какую сторону смотреть, какие логи вам показать? Спасибо
UPD: Я видел такую ситуацию когда не стартовал мускуль из-за недостатка места на диске, но в моем случае — гуляй душа.
~$ sudo service mysql restart
[sudo] password for ~:
stop: Unknown instance:
start: Job failed to start
логи
150617 8:01:25 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead.
150617 8:01:25 [Note] Plugin 'FEDERATED' is disabled.
150617 8:01:25 InnoDB: The InnoDB memory heap is disabled
150617 8:01:25 InnoDB: Mutexes and rw_locks use GCC atomic builtins
150617 8:01:25 InnoDB: Compressed tables use zlib 1.2.8
150617 8:01:25 InnoDB: Using Linux native AIO
150617 8:01:25 InnoDB: Initializing buffer pool, size = 128.0M
150617 8:01:25 InnoDB: Completed initialization of buffer pool
150617 8:01:25 InnoDB: highest supported file format is Barracuda.
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
150617 8:01:25 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
150617 8:01:27 InnoDB: Waiting for the background threads to start
150617 8:01:28 InnoDB: 5.5.43 started; log sequence number 874386956
150617 8:01:28 [Note] Server hostname (bind-address): '127.0.0.1'; port: 3306
150617 8:01:28 [Note] - '127.0.0.1' resolves to '127.0.0.1';
150617 8:01:28 [Note] Server socket created on IP: '127.0.0.1'.
150617 8:01:28 [Note] Event Scheduler: Loaded 0 events
150617 8:01:28 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.5.43-0ubuntu0.14.04.1' socket: '/var/run/mysqld/mysqld.sock' port: 3306 (Ubuntu)
150617 8:01:28 InnoDB: Error: page 3235 log sequence number 874387332
InnoDB: is in the future! Current system log sequence number 874386956.
InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files. See
InnoDB: http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html
InnoDB: for more information.
150617 8:01:28 InnoDB: Error: page 3718 log sequence number 874387295
InnoDB: is in the future! Current system log sequence number 874386956.
InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files. See
InnoDB: http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html
InnoDB: for more information.
150617 8:01:29 [ERROR] /usr/sbin/mysqld: Table './etnicasmain/wp_options' is marked as crashed and should be repaired
150617 8:01:29 [Warning] Checking table: './etnicasmain/wp_options'
150617 8:01:30 [ERROR] /usr/sbin/mysqld: Table './phpmyadmin/pma_column_info' is marked as crashed and should be repaired
150617 8:01:30 [Warning] Checking table: './phpmyadmin/pma_column_info'
150617 8:01:30 [ERROR] /usr/sbin/mysqld: Table './phpmyadmin/pma_recent' is marked as crashed and should be repaired
150617 8:01:30 [Warning] Checking table: './phpmyadmin/pma_recent'
150617 8:01:30 [ERROR] /usr/sbin/mysqld: Table './phpmyadmin/pma_userconfig' is marked as crashed and should be repaired
150617 8:01:30 [Warning] Checking table: './phpmyadmin/pma_userconfig'
150617 8:01:30 [ERROR] /usr/sbin/mysqld: Table './pulspro/wp_options' is marked as crashed and should be repaired
150617 8:01:30 [Warning] Checking table: './pulspro/wp_options'
сверху лог бекапа который работает.
Вот лог с последней резервной копии неработающей — лог увы, но сюда он не влазит.