Не удается подключиться к серверу mysql на «localhost» (10061) после установки
Содержание:
Решение
По мне такому может быть проблема и способы ее решения
Причины:
—> путь для сохранения php_session не задан или задан неверно:
—> Либо php не имеет достаточных прав для записи в каталог сеанса, либо каталог не существует.
Решение:
-
Чтобы определить каталог php_session, добавьте следующую строку в файл php.ini:
-
И дать права на запись на http-сервер.
В основном, http-сервер запускается как пользовательский демон в групповом демоне. В этом случае следующие команды сделают работу за вас:
-
перезапустите http-сервер.
Попробуйте и дайте мне знать
ОБНОВИТЬ
Я нашел это: —
В некоторых редких случаях, если ваш процесс MySQL существовал долгое время без каких-либо обновлений вашего пароля, он может хранить ваш пароль в формате, с которым phpMyAdmin не может аутентифицироваться. Это приведет к тому, что вы не сможете войти через phpMyAdmin даже с правильным именем пользователя и паролем. В этих случаях обычно достаточно изменить пароль MySQL другим способом (например, командной строкой), даже если вы «измените» пароль на то же самое.
так что попробуйте просто сбросить пароль через командную строку как
2
Другие решения
Наконец исправил это, после большого беспорядка.
Оказывается, мой файл связывал адрес с IP-адресом внутренней сети нашего сервера.
Ранее, перед перемещением базы данных (и расположения сокета), она также соединялась с правильно (который использует сокет) и разрешить вход в систему от phpMyAdmin.
После перемещения БД соединение с сокетом не работает, и изменение Линия к 127.0.0.1 от localhost заставляет mysql соединяться с TCP вместо сокета. Это теперь вызвало конфликт с адресом привязки:
Снятие ограничения по bind-адресу позволило мне войти в систему.
Однако лучшим решением было, конечно, исправить соединение с сокетом.
После некоторого обсуждения некоторых разрешений, кто-то помог мне найти настройки в (расширение phpMyAdmin использует для подключения к БД):
Это исправило локальное соединение с сокетом, и я смог восстановить привязать адрес и вернуть использовать снова.
в моей ситуации я просто переключаю версию php с 5.6.16 на 7.0
а затем он получил логин в ничто.
просто переключите его обратно, возможно, перезагрузите сервер, он будет поддерживать работу в PHP 7.0
11 ответов
Когда вы запустили сервер через
вы должны увидеть сокет в /tmp/mysql.sock . Однако система, похоже, ожидает этого в /var/mysql/mysql.sock . Чтобы это исправить, вы должны создать символическую ссылку в /var /mysql :
Это решило это для меня. Теперь мой phpMyAdmin успешно работает с localhost и 127.0.0.1 .
Кредит предоставляется Генри
Похоже, ваш сервер MySQL не запущен. Я обычно запускаю команду остановки и затем запускаю ее снова:
Та же ошибка, и это работает для меня.
Попробуйте подключиться, используя «127.0.0.1» вместо «localhost».
1) Если вы видите «mysql остановлен» при выполнении команды ниже;
2) и если вы можете запустить mysql с помощью приведенной ниже команды;
затем добавление mysql к сервисам решит вашу проблему. При использовании этого метода mysql будет запускаться как служба при запуске операционной системы. Для этого вы можете выполнить команду ниже;
После этого вы можете перезагрузить операционную систему и попробовать подключиться к mysql. Я сделал то же самое и перестал получать ошибку ниже;
Надеюсь, это поможет.
Я получил ту же ошибку, и это мне помогло:
Я столкнулся с той же проблемой на моем Mac и решил ее, следуя приведенным ниже инструкциям
Но не забудьте убить или удалить старую версию, прежде чем продолжить.
Команды
Поскольку я потратил довольно много времени, пытаясь решить эту проблему, и всегда возвращался на эту страницу, когда искал эту ошибку, я оставлю свое решение здесь в надежде, что кто-то сэкономит время, которое я потерял. Хотя в моем случае я использую mariadb, а не MySql, вы все равно сможете адаптировать это решение под свои нужды.
Моя проблема
то же самое, но мои настройки немного отличаются (mariadb вместо mysql):
Установлен mariadb с домашним пивом
Запустил демон
Попытался подключиться и получил вышеупомянутую ошибку
Мое решение
выясните, какие файлы используются (как указано в этом ):
проверьте, где работает файл сокета Unix (почти как описано здесь ):
(вам может потребоваться вместо mariadb)
Добавьте найденный вами файл сокета в (создайте файл при необходимости) (при условии был указан при выполнении команды сверху):
Перезапустите свою мариадбу.
После этого я смог запустить mysql и получить:
Поэтому я вместо этого запускаю команду с привилегиями суперпользователя, и после ввода пароля я получил:
Примечания:
-
Я не совсем уверен насчет групп, в которые нужно добавить сокет, сначала он у меня был , но потом я подумал, что должно быть достаточно. Поэтому я изменил его, и он все еще работает.
-
При запуске я получаю:
это немного сбивает с толку, так как кажется, что является реальным местом (по крайней мере, на моей машине)
-
Интересно, где я могу настроить так, чтобы он был , чтобы я мог использовать настройки по умолчанию вместо того, чтобы редактировать мои (но я слишком устал, чтобы понять это …)
-
В какой-то момент я также сделал вещи, упомянутые в других ответах, прежде чем придумать это.
Вам нужно будет запустить — проще всего, если вы находитесь в каталоге установки:
Кроме того, вы можете a
Просто чтобы добавить к этим ответам, в моем случае у меня не было локального сервера MySQL, он работал внутри контейнера докера. Таким образом, файл сокета не существует и не будет доступен для клиента «mysql».
Файл sock создается mysqld, и mysql использует его для связи с ним.
Однако, если ваш сервер mySql не работает локально, ему не требуется файл sock.
При указании имени хоста /ip файл носка не требуется, например,
После установки macos mojave пришлось стереть папку mysql в , а затем переустановить через в противном случае связанные с разрешением вещи возникнут повсюду.
10 ответов
Проверьте порты прослушивания с помощью:
Если это покажет
Это нормально для вашего удаленного подключения.
Но в этом случае я думаю, что у вас есть
Это нормально для вашего удаленного подключения.
Вам также следует проверить брандмауэр (iptables, если вы используете centos /redhat).
для тестирования или использования:
И еще одна вещь, чтобы проверить разрешение на удаленное подключение:
errno 111 ECONNREFUSED, я полагаю, что-то не так с DNAT маршрутизатора.
Также возможно, что ваш интернет-провайдер фильтрует этот порт.
Убедитесь, что ваш удаленный хост (то есть сервер веб-хостинга, с которого вы пытаетесь подключиться ОТ) разрешает исходящий трафик через порт 3306.
В этой ситуации я увидел ошибку (100). Я мог подключиться с моего ПК /Mac, но не с моего сайта. Экземпляр MySQL был доступен через Интернет, но моя хостинговая компания не позволяла моему веб-сайту подключаться к базе данных через порт 3306.
Как только я попросил мою хостинговую компанию открыть мою учетную запись веб-хостинга до исходящего трафика через порт 3306, мой веб-сайт мог подключиться к моей удаленной базе данных.
Соответствующая часть, которая работает для меня:
можно найти с помощью или .
Перезапустите mysql, чтобы убедиться, что загружена новая конфигурация:
если вы используете систему CentOS /RedHat и rpm — это способ установки MySQL, в папке /etc /нет my.cnf, вы можете использовать
#whereis mysql
#cd /usr /share /mysql /
cp -f /usr/share/mysql/my-medium.cnf /etc/my.cnf
У меня такой же вопрос, как и у вас, я использую wireshark для перехвата отправленных TCP-пакетов, я обнаружил, когда я использую bin чтобы подключить удаленный хост, он подключает порт 3307 удаленного устройства, это мой фалут в , 3307 — это другой порт mysql проекта, но я изменяю это Конфигурация в , когда я использую для указания порта 3306, все в порядке.
я правильно установил свой bind-адрес, как указано выше, но забыл перезапустить сервер mysql (или перезагрузить компьютер) 🙂 face palm — так вот для меня источник этой ошибки!
У меня была такая же проблема при попытке подключиться к удаленной базе данных MySQL.
Я исправил это, открыв брандмауэр на сервере БД, чтобы пропустить трафик:
Иногда, когда у вас есть специальные символы в пароле, вам нужно обернуть его в , поэтому для подключения к БД вы можете использовать:
У меня была та же ошибка, и это решение ее решило.
Не уверен, поскольку не вижу его в упомянутых вами шагах.
сбросить привилегии;
Вам нужно выполнить его после GRANT
Надеюсь, что это поможет!
Распространенные проблемы и ошибки при подключении к MySQL
Как подключиться к MySQL удаленно, если возникают какие-то ошибки? Трудности обычно возникают при наличии запрещающих правил. Проверить, существуют ли такие, можно вот таким запросом:
iptables-save
Если таковые обнаружатся, добавим разрешающее правило. Для этого надо ввести соответствующую команду, она должна выглядеть примерно вот так:
/sbin/iptables -A INPUT -i eth0 -p tcp —destination-port 3306 -j ACCEPT
Если при подключении возникает ошибка «Can’t connect to Mysql Server on ‘IP_адрес'(10061)», соединение заблокировал брандмауэр, firewall, outpost, антивирус и прочие программы. Для UFW, инструмента брандмауэра в Ubuntu, можно задать вот такую команду, разрешающую доступ с любого IP-адреса:
sudo ufw allow 3306/tcp
Есть еще возможность открыть доступ для определенного IP-адреса, и это куда более безопасный способ. Для этого потребуется ввести такой запрос:
sudo ufw allow from IP_адрес to any port 3306
Если же появляется ошибка типа «Client does not support autentification protocol request by server; consider upgrading MySQL client», это значит, что установленный клиент не поддерживает требуемый сервером протокол.
Эту ошибку можно исправить, установив пароль старого формата:
SET PASSWORD FOR user@host = OLD_PASSWORD('password')
Если при проверке выходит ошибка формата «ERROR 2003 (HY000): Can’t connect to MySQL server», это значит, что порт 3306 не открыт. Либо сервер MySQL не прослушивает указанный IP-адрес.
В случае, когда выходит сообщение «ERROR 1130 (HY000): Host ‘10.8.0.5’ is not allowed to connect to this MySQL server», указывается отсутствие прав доступа к удаленному серверу у пользователя.
Ошибка «1045 невозможно подключиться к серверу MySQL» возникает при попытке подключиться удаленно к базам данных через phpMyAdmin. Причиной тому может быть неправильно введенный логин или же отсутствие пароля у пользователя или его неправильная смена.
7 ответов
Перейдите в Системные настройки -> MySql и проверьте состояние вашего экземпляра MySql.
Столкнулся с подобной проблемой, и моя проблема заключалась в том, что MySQL установил себя настроенным для работы на порте не по умолчанию. Я не знаю причину этого, но чтобы узнать, на каком порту работает MySQL, запустите в клиенте MySql следующее:
Может быть одна или несколько причин, если вы не можете подключиться к серверу MAC OS X MySQL с помощью MySQL-workbench.
Когда вы нажимаете «Проверить соединение», вы можете увидеть эту ошибку. Это может быть кратко объяснено, если вы шаг за шагом перейдете к «Настройка управления сервером ..»
На основе красных крестов вы можете отфильтровать настоящую проблему.
Наиболее распространенные проблемы связаны с установкой MySQL-сервера. Мало кто либо забудет установить сервер до установки MySQL-workbench. Некоторые другие установят часть продукта. Убедитесь, что вы также установили все 3 части, которые поставляются с файлом dmg (образ диска) MySQL-Server, который содержит пакет mysql-server. Эти 3 части: сервер MySQL, панель настроек и элемент автозагрузки.
Примечание. Если вы не выбрали панель настроек, вы не сможете запустить экземпляр сервера MySQL из настроек системы.
После того, как вы убедитесь, что вы установили каждый элемент, вы можете проверить экземпляр сервера вашего собственного mysql-сервера. Откройте Системные настройки в доке и нажмите MySQL. Затем нажмите Start MySQL Server, чтобы запустить экземпляр сервера. Если экземпляр сервера остановлен, MySQL-workbench не сможет подключиться к серверу MySQL.
Если вы все еще сталкиваетесь с проблемой, то вам нужно проверить порт соединения, которое вы делаете. Порт по умолчанию ‘3307’ , а НЕ ‘3306’ . Вы можете проверить это с помощью следующей команды в терминале mysql:
Обратите внимание, что этот процесс помогает вам подключиться к локальному экземпляру. Если вам необходимо подключиться к удаленному серверу, вам необходимо ввести этот конкретный IP-адрес и порт
Обратитесь к администратору вашего сервера, если вы столкнулись с проблемой. Поскольку в этом вопросе конкретно говорится, что проблема связана с подключением к локальному экземпляру, я не пишу чеки, которые вам, возможно, понадобятся.
У меня была та же проблема, я решил ее с помощью следующих шагов:
Если пакет mysql поставляется с именем файла «mysql-5.7.13 ….» и
«MySql.prefPane», то ваша жизнь действительно легка.
Просто нажмите «mysql-5.7.13 ….» и следуйте инструкциям.
После завершения установки нажмите «MySql.prefPane» и оформите «Только
для этого пользователя «во всплывающем окне. Мы используем» MySql.prefPane «, чтобы запустить MySQL
сервер, так как это действительно бес, потому что без этого вы в конечном итоге
ошибки.
Нажмите «Запустить MySql Server» в следующем диалоговом окне.
ИЛИ
Если вы не видите «MySql.prefPane» в пакете, выполните следующие действия:
Нажмите на пакет «mysql-5.7.13 ….», и вы увидите один пароль как
как только установка будет завершена. Этот пароль используется для установления соединения.
Вы можете изменить это. Я дам вам знать через некоторое время
После установки сохраните пароль (это действительно важно — он понадобится вам позже), откройте терминал.
А затем введите пароль сверху. Это должно начать
Чтобы изменить пароль:
..
и войдите под новым паролем.
После этого вы можете перейти к MySql Workbench и . Это должно подключиться.
для mac: проверьте совместимую версию сервера mysql в рабочей среде> preference> MySql
если это та же версия с вашим сервером MySQL в: cd /usr /local /
Я использую эти команды в MacOs после получения той же ошибки
У меня была такая же проблема. Я полностью удалил mySQL и переустановил его, используя homebrew .
Проверка Веб Хоста (MySQL сервер)
Часто можно заметить, что ошибка в установке соединения с базой данных может возникать из – за возросшего объема трафика на сайт. В принципе, ваш веб сервер просто не в состоянии справиться с нагрузкой (особенно когда вы находитесь на виртуальном хостинге).
Сайт может работать крайне медленно и сыпать пользователей ошибками. Тогда вам нужно позвонить или оставить тикет в службу поддержки хостинга и попросить их разобраться с данной проблемой на их стороне.
Есть и другой вариант – запустить простой тестовый сайт и посмотреть, выдает ли он ошибку. Если они также получают такую же ошибку, то тогда что-то не так с вашим Mysql сервером. Это в случае, если вы сами создаете и запускает Mysql базу данных, не автоматически при установке CMS. Тут разница есть.
Если у вас нет другого сайта на этой же учетной записи хостинга, тогда войдите внутрь его панели cPanel и попробуйте получить доступ к phpmyadmin и подключить базу данных. Если вы можете подключиться, то нужно проверить, имеет ли пользователь доступ. Создайте новый файл с именем testconnection.php и вставьте в него следующий код:
<?php
$link = mysql_connect(‘localhost’, ‘root’, ‘password’);
if (!$link) {
die(‘Could not connect: ‘ . mysql_error());
}
echo ‘Connected successfully’;
mysql_close($link);
?>
1 |
<?php $link=mysql_connect(‘localhost’,’root’,’password’); if(!$link){ die(‘Could not connect: ‘.mysql_error()); } echo’Connected successfully’; mysql_close($link); ?> |
Убедитесь в том, что заменили имя пользователя и пароль на свой. Если подключение прошло успешно, значит было недостаточно прав доступа. Давайте вернемся к нашему файлу wp-config.php, чтобы убедиться что в нем все правильно и нет опечаток. (повторное сканирование опечаток).