Ошибка access denied for user root localhost

Содержание

Если вы захотите настроить резервное копирование базы данных на другой сервер, или протестировать соединение с базой данных из другого сервера. И тогда вы можете столкнуться с ошибкой access denied for user root localhost, даже если вы указали верное имя пользователя, базу данных и пароль.

В этой небольшой статье мы рассмотрим почему возникает эта ошибка, а также как ее исправить и подключиться к MySQL из другого сервера через интернет.

Что означает access denied for user root localhost?

Если переводить дословно, то эта ошибка означает что у вас нет доступа к данной базе данных от имени этого пользователя. В примере я использовал пользователя root, но вы можете использовать и другого пользователя. Это может быть вызвано несколькими причинами:

Для безопасности базы данных в mysql была придумана настройка хоста, из которого пользователь может авторизоваться. По умолчанию для пользователей устанавливается разрешение на авторизацию только с localhost. Чтобы разрешить подключение с других хостов, нужно менять настройки. Рассмотрим как это делается с помощью Phpmyadmin и в терминале.

Исправляем ошибку access denied for user root localhost

1. Подключение с другого хоста

Сначала рассмотрим как работать с Phpmyadmin. Это намного проще для начинающих и тех, кто не любит работать в терминале. Откройте Phpmyadmin, авторизуйтесь в программе с правами root и перейдите на вкладку «Учетные записи пользователей»:

Здесь, вы увидите, кроме обычных полей, поле «имя хоста», которое указывает с какого хоста может подключаться пользователь. Если в этом поле написано localhost, значит этот пользователь может авторизоваться только с локальной машины. Также, в этом поле может находиться IP адрес, с которого есть разрешение или символ %, который означает, что пользователь может подключаться с любого IP.

Чтобы изменить права для пользователя, нужно нажать на ссылку «Редактировать привилегии» для него, на открывшейся странице перейдите на вкладку «Информация об учетной записи»:

Затем установите в поле «Имя хоста» значение «Любой хост» чтобы разрешить этому пользователю авторизоваться с любого IP. Если вы хотите разрешить только определенный IP, выберите «Использовать текстовое поле» и укажите нужный адрес или подсеть:

После этого останется нажать кнопку «Вперед» чтобы сохранить настройки. Если вам нужно чтобы был доступ и с локального IP, и с другого, то необходимо создать еще одного пользователя. После этого вы сможете авторизоваться от имени этого пользователя.

Теперь рассмотрим другой способ решить ошибку 1045 access denied for user root localhost, с помощью терминала. Это немного проще, поскольку вам нужно только выполнить несколько команд:

> UPDATE mysql. user SET Host=’%’ WHERE Host=’localhost’ AND User=’имя_пользователя’;
> UPDATE mysql. db SET Host=’%’ WHERE Host=’localhost’ AND User=’имя_пользователя’;
> FLUSH PRIVILEGES;

Уже после этого, вы можете подключаться к серверу баз данных с любого другого компьютера и не получите никаких ошибок. Вместо символа %, можно указать нужный ip или localhost, если ограничение нужно вернуть обратно.

2. Неверный пароль root

Иногда случается, что при установке базы данных пароль для root задается, но вы его не знаете. Поскольку это главный пользователь и если вы не можете войти от его имени, то вы не сможете ничего исправить. Сначала попробуйте авторизоваться от имени root в системе и подключиться к базе без пароля:

Иногда это работает. Если не сработало, остановите службу mysql и запустите ее без проверки безопасности, а затем попробуйте снова:

> USE mysql;
> UPDATE user SET Password=PASSWORD(‘ваш_пароль’) where USER=’root’;
> FLUSH PRIVILEGES;

Еще можно попытаться выдать права над всеми таблицами нашему пользователю, если это необходимо:

> GRANT ALL ON *.* TO ‘root’@’localhost’ WITH GRANT OPTION;

Обратите внимание на хост localhost, если вы хотите чтобы удаленные узлы тоже могли подключаться к этому пользователю, то нужно использовать %. Дальше можно перезапустить базу данных и работать как обычно.

Выводы

Теперь вы знаете как решается mysql access denied for user root localhost и что делать в таких ситуациях, чтобы решить проблему. Надеюсь, эта информация была полезной для вас. Если у вас остались вопросы, спрашивайте в комментариях!

Ошибка: access denied for user ‘root’@’localhost’ (using password: yes и no)

Служба mysqld не может запуститься так как порт 3306 используется другой программой

По умолчанию служба mysqld использует порт 3306 если этот порт использует другой процесс, то это является препятствием для запуска MySQL и в конечном счёте появляется рассматриваемая ошибка.

Для решения проблемы выясните, какая служба прослушивает порт 3306. Например, это можно сделать командой:

А затем остановите эту служу и удалите её из автозагрузки.

Либо можно использовать альтернативный вариант — настроить службу mysqld прослушивать другой, отличный от дефолтного порта. Но это может повлечь необходимость явно указывать порт в любых приложениях, которые подключаются к СУБД MySQL.

Исправляем ошибку access denied for user root localhost

1. Подключение с другого хоста

Сначала рассмотрим как работать с Phpmyadmin. Это намного проще для начинающих и тех, кто не любит работать в терминале. Откройте Phpmyadmin, авторизуйтесь в программе с правами root и перейдите на вкладку «Учетные записи пользователей»:

Здесь, вы увидите, кроме обычных полей, поле «имя хоста», которое указывает с какого хоста может подключаться пользователь. Если в этом поле написано localhost, значит этот пользователь может авторизоваться только с локальной машины. Также, в этом поле может находиться IP адрес, с которого есть разрешение или символ %, который означает, что пользователь может подключаться с любого IP.

Чтобы изменить права для пользователя, нужно нажать на ссылку «Редактировать привилегии» для него, на открывшейся странице перейдите на вкладку «Информация об учетной записи»:

Затем установите в поле «Имя хоста» значение «Любой хост» чтобы разрешить этому пользователю авторизоваться с любого IP. Если вы хотите разрешить только определенный IP, выберите «Использовать текстовое поле» и укажите нужный адрес или подсеть:

После этого останется нажать кнопку «Вперед» чтобы сохранить настройки. Если вам нужно чтобы был доступ и с локального IP, и с другого, то необходимо создать еще одного пользователя. После этого вы сможете авторизоваться от имени этого пользователя.

Теперь рассмотрим другой способ решить ошибку 1045 access denied for user root localhost, с помощью терминала. Это немного проще, поскольку вам нужно только выполнить несколько команд:

Уже после этого, вы можете подключаться к серверу баз данных с любого другого компьютера и не получите никаких ошибок. Вместо символа %, можно указать нужный ip или localhost, если ограничение нужно вернуть обратно.

2. Неверный пароль root

Иногда случается, что при установке базы данных пароль для root задается, но вы его не знаете. Поскольку это главный пользователь и если вы не можете войти от его имени, то вы не сможете ничего исправить. Сначала попробуйте авторизоваться от имени root в системе и подключиться к базе без пароля:

Иногда это работает. Если не сработало, остановите службу mysql и запустите ее без проверки безопасности, а затем попробуйте снова:

Еще можно попытаться выдать права над всеми таблицами нашему пользователю, если это необходимо:

Обратите внимание на хост localhost, если вы хотите чтобы удаленные узлы тоже могли подключаться к этому пользователю, то нужно использовать %. Дальше можно перезапустить базу данных и работать как обычно

Индексные файлы Apache

Если пользователь запрашивает у веб-сервера не файл, и директорию, то сервер ищет в ней файлы index. html, index. php, index. htm и т. п. Если эти файлы есть в этой директории, то показывается их содержимое. Эти файлы называются индексными. Если в директории сразу два или более таких файлов, то показывается один из них в соответствии с установленным приоритетом.

Посмотреть, какие файлы для вашего сервера являются индексными и в каком порядке выстроен их приоритет вы можете в файле

Там вы увидите что-то вроде:

Обычно пользователи хотят переместить индексный файл PHP (index. php) в первую позицию после DirectoryIndex, чтобы получилось примерно так:

После внесения изменений, сохраните и закройте файл, перезапустите веб-сервер.

Method 1: Create a New Superuser for phpMyAdmin

You should now be able to access phpMyAdmin using this new user account.

If you are getting an error for this new user “Access denied for user (using password: YES)”, please read this article.

If you are getting an error “Failed to set session cookie. Maybe you are using HTTP instead of HTTPS”, please read this article.

Introduction

This error may be due to one of the following reasons:

Due to changes in MySQL 5.7 / MySQL 8+, you cannot log into phpMyAdmin using the root account. See section: MySQL 5.7 / MySQL 8+

You have forgotten your root password. See article: How To Reset the MySQL Root Password

The host value for root is preventing access via phpMyAdmin. See article: Understanding MySQL Users and Hosts

You are trying to log into phpMyAdmin using an account other than root but are getting an error “Access denied for user (using password: YES)”.See article: MySQL Rejecting Correct Password

If using MySQL 5.6 and belowSee section: MySQL 5.6 and below

Причины ошибки Access denied for user ‘root’@’localhost’

Чтобы свободно получить доступ в MySQL, должно совпасть три параметра, описывающих пользователя базы данных — имя, название машины и пароль. Если есть какие-то несовпадения, доступ будет запрещен. Самая простая причина проблемы — неправильный ввод пароля. Кроме этого, вызывать ошибку может неправильный синтаксис.

В системе MySQL нет простой зависимости имя пользователя – пароль, название хоста играет важную роль в получении доступа к БД. Оно может иметь вид IP-адреса, доменного имени, ключевого слова (например, localhost) или символа, объединяющего несколько машин в группу (например, % — любой хост, кроме локального).


Ошибка имеет ключ (Using password: NO) при входе в БД через браузер

Наиболее распространенные ошибки при обращении к БД:

В зависимости от того, при каком способе подключения к БД возникает ошибка Access denied for user ‘root’@’localhost’ (Using password: YES или NO), используются разные методы решения проблемы.

Управление ACL (setfacl, getfacl) в Linux

Изменение и просмотр настроек ACL с помощью setfacl и getfacl

Пример управления расширенными правами с использованием ACL

Что означает access denied for user root localhost?

Если переводить дословно, то эта ошибка означает что у вас нет доступа к данной базе данных от имени этого пользователя. В примере я использовал пользователя root, но вы можете использовать и другого пользователя. Это может быть вызвано несколькими причинами:

Для безопасности базы данных в mysql была придумана настройка хоста, из которого пользователь может авторизоваться. По умолчанию для пользователей устанавливается разрешение на авторизацию только с localhost. Чтобы разрешить подключение с других хостов, нужно менять настройки. Рассмотрим как это делается с помощью Phpmyadmin и в терминале.

Установка Apache, PHP, MySQL, phpMyAdmin на Linux Mint

Большинство операций мы будет делать в командной строке – терминале Linux.

Откройте терминал и выполните в нём следующие две команды:

В процессе установки появится окно, в котором вы можете установить пароль для MySQL:

Рекомендуется сразу установить пароль, это нужно для безопасности, также в своих стандартных настройках phpMyAdmin не даст войти без пароля.

Если для локального веб-сервера вы не хотите указывать пароль, то оставьте поле пустым, переключитесь клавишей TAB на OK и нажмите ENTER.

В этом окне оставьте всё без изменений, переключитесь клавишей TAB на OK и нажмите ENTER.

На вопрос «Настроить базу данных для phpmyadmin с помощью dbconfig-common?» клавишей TAB выберите «Нет» и нажмите ENTER:

Вот и всё! Веб-сервер (связка Apache, PHP, MySQL, phpMyAdmin) установлен и готов к работе. Откройте в браузере ссылку https://localhost/

Вы увидите стандартную страницу Apache:

Чтобы веб-сервер запускался вместе с каждым включением компьютера, выполните команду:

Настройка phpMyAdmin

Нам нужно сделать небольшую настройку для phpMyAdmin. Введите команду

Она откроет текстовый файл. Пролистните этот файл до самого конца и в самый низ добавьте строку:

Перезапустите веб-сервер, чтобы изменения вступили в силу:

По умолчанию phpMyAdmin не позволяет входить без пароля. Если вы не установили пароль для СУБД MySQL, то у вас на выбор две опции:

Рекомендуется задать пароль для базы данных. Для изменения пароля можно воспользоваться скриптом:

Если вы хотите разрешить входить в phpMyAdmin без пароля, то откройте файл

Найдите вторую (их там две) строку

и раскомментируйте её (уберите два слеша из начала строки), чтобы получилось:

Скорее всего, при подключении вас ждёт сюрприз в виде ошибки «#1698 — Access denied for user ‘root’@’localhost’». Пошаговые действия для её решения в этой инструкции.

MySQL 5.6 and below

In MySQL 5.6 and below, you should be able to log into to phpMyAdmin using the root account. However, if you still can’t log in, it may be due to one of the following reasons:

You could also create a new user for phpMyAdmin by following the step for MySQL 5.7 and above as the commands are the same.

Где в веб-сервере Apache находятся сайты?

По умолчанию корневой папкой для веб-документов является /var/www/html. В /var/www вы можете делать ваши собственные виртуальные хосты.

Папка /var/www/html и все файлы внутри неё принадлежат пользователю рут.

Чтобы вы могли изменять, добавлять, удалять файлы в этой папке, вам нужно использовать sudo. Например, следующей командой вы откроете файловый менеджер для управления содержимым папки.

Все другие программы, которые вносят изменения в /var/www/html, также должны быть запущенными с sudo

На локальном сервере для упрощения использования вы можете сделать себя владельцем этой папки:

Теперь вам и запущенным от вашего имени программам не нужны привилегии суперпользователя для работы с содержимым этой директории:

Неверно указан хост для подключения

Служба mysqld по умолчанию не добавляется в автозагрузку на некоторых дистрибутивах

Помните, что на некоторых дистрибутивах (например, производных Arch Linux, на Kali Linux) даже после установки MySQL или MariaDB они не добавляются в автозагрузку и не запускаются по умолчанию.

Для запуска службы и её авто старта при последующих включениях компьютера выполните команды:

Убедитесь, что служба MySQL/MariaDB настроена правильно

Если причина проблемы оказалась в том, что служба не запущена и после попытки запуска служба вновь оказалась неактивной, значит проблема может быть в неправильной настройке сервера MySQL/MariaDB.

Файлы конфигурации (настроек) MySQL и MariaDB могут размещаться в разных директориях, например:

При этом в файлах могут быть установлены различные значения одной и той же настройки, что приводит к проблеме. Устраните противоречие, либо удалите или переименуйте один из файлов и попробуйте вновь запустить службу.

На что стоит обратить внимание в конфигурационных файлах

Если вы хотите сохранить оба конфигурационных файла, то проверьте, чтобы значение socket было одинаковым. Также для bind-address должен быть установлен правильный IP адрес. Если к этому серверу подключаются только приложения, которые запущены на этом же сервере, то в качестве значения bind-address нужно прописать localhost или 127.0.0.1

Method 2: Change root Authentication Method

Open up the MySQL prompt from your terminal:

Run the following query.

You should now be able to log into phpMyAdmin using your root account.

Как исправить ошибку 1045 в MySQL

Если ошибка Access denied for user ‘root’@’localhost’ (Using password: YES и NO) появляется с указанием Using password: YES, проблема заключается в неправильном вводе пароля. Проверить это можно, открыв таблицу mysql. user, в которой хранятся данные обо всех пользователях.


В таблице mysql. user хранятся данные для входа пользователей

Порядок действий таков:

После этого в базу данных можно зайти. Если изменить данные не получается, следует использовать параметр — skip-grant-tables, который отменяет все настройки разрешений.


Строки, которые нужно изменить в файле конфигурации

Если ошибка появляется с ключом (Using password: NO), нужно сделать следующее изменить файл config. inc. php, указав в нем правильные данные. Если проблема возникает при установке MySQL, нужно удалить базы данных старой версии программы или сменить пароль для доступа к ним, используя режим — skip-grant-tables.

Таким образом, ошибка Access denied for user ‘root’@’localhost’ (Using password: YES или NO) возникает при несоответствии пароля и имени пользователя и легко исправляется заменой данных для входа.

Ошибка установки соединения с базой данных: причина, исправление

WordPress

Одна из наиболее популярных систем управления «начинкой» ресурса. На платформе WordPress появляются мелкие блоги и крупные проекты. Ошибка установки соединения с базой данных происходит именно с этой CMS.

ошибка установки соединения с базой данных

Содержание

Прежде чем понять, как избавиться от ошибки установки соединения с базой данных WordPress, важно рассмотреть строение системы. Любой ресурс на основе этой CMS основан на двух важных элементах. Речь идет о программных файлах и БД.

Первые находятся на хостинге, куда можно попасть по запросу через FTP. Вторые хранятся на хостинге в отдельном секторе. Для перехода необходимо скачать специальный сервис. Популярностью пользуется PhpMyAdmin.

Если программным документам нужна дополнительная информация, они переходят в БД, используя материалы оттуда. Далее отображают страницу ресурса корректно.

Чтобы путь к хранилищу был правильным, нужен доступ. Под ним подразумевают имя пользователя и шифр, которые были установлены во время начальной настройки ресурса. Хранится эта информация в главной папке ресурса.

ошибка установки соединения с базой данных wordpress

При обнаружении ошибки установки соединения с базой данных становится понятно, что у программных документов нет возможности попасть в БД и корректно отобразить страницу.

Проверка

Прежде чем решать эту проблему, нужно осуществить пару проверочных действий, которые помогут выявить причину ошибки.

Для начала придется проверить, есть ли вообще база данных. Для этого достаточно перейти к панели, на которой есть инструменты для управления хостингом. У каждого к ней есть доступ, если куплен хостинг. Далее переходим в меню к разделу с хранилищем. На панели этот пункт так и называется «База данных». Достаточно перейти сюда и удостовериться в том, что там не пусто.

Если вы видите, что есть набор файлов или папка, далее проверяем, наполнена ли она: есть ли в ней дополнительные записи, таблицы и другие материалы. Возможно, база данных пустая и не содержит дополнительную информацию. Чтобы это проверить, выполняем действия, которые делают программные файлы.

Используем сервис PhpMyAdmin, вводим логин и пароль. Если вы не можете определить, пустая ли база, посмотрите на её вес и содержимое. Обычно должны быть таблицы и записи, а объем папки может быть от Кб.

Вышеописанный процесс может указать вам на следующую ошибку. При вводе логина и пароля не получается войти в хранилище. Возможно, вы вводите неверные данные либо вы сменили их и забыли. Проверьте, не переключили ли вы язык и не вводите ли шифр другими буквами. Тогда попробуйте вернуться к настройке хранилища и выбрать другой пароль. Не забудьте изменить его и в документе с конфигурацией.

 ошибка установки соединения с базой данных denwer

Почему?

Интересно, что ошибка установки соединения с базой данных появляется и вместе с транспортировкой ресурса. Причем возникает неполадка с вероятностью 99%. Если ресурс уже был установлен на хостинг, а неполадка возникла, то может быть ряд других причин.

К примеру, удалили пользователя, под именем которого происходило соединение, изменили шифр или MySQL была отправлена на специальный сервер. Бывает, что проблема возникает не по вашей вине, а из-за хостера. В этом случае достаточно написать ему и сообщить о проблеме. Он также предоставит дополнительную информацию и укажет решение.

Частичная проблема

Иногда подобная неприятность возникает частично. В хранилище пропали определенные таблицы или стали недоступны. Чтобы убедиться в точности этой неполадки, достаточно перейти в панель администратора. При повторном возникновении проблемы нужно проверять БД.

Чтобы восстановить её, переходим к файлику wp-config. php. Сюда нужно внести дополнительную команду: define(‘WP_ALLOW_REPAIR’, true);. Теперь нужно перейти в специальное меню site. com/wp-admin/maint/repair. php. На месте site. com указываете ваш ресурс. После появится окно с восстановлением.

В нем желательно выбрать не просто восстановление, но и оптимизацию. Процесс занимает несколько минут. После завершения необходимо будет убрать команду из файла wp-config. php.

Транспортировка

Возможно, со временем вы решили перенести блог с Denwer. Ошибка установки соединения с базой данных появляется при некорректности файла wp-config. php. Здесь нужно указывать конфигурацию, нужную для соединения с БД.

timeweb ошибка установки соединения с базой данных

Открыв этот документ, важно внимательно присмотреться к показателям, которые там имеются. Чаще всего имя пользователя и базы данных одинаково. Оно появляется при регистрации на хостинге. Тут же есть и пароль. Все это нужно сохранять при переносе ресурса с разных сервисов, в том числе и Openserver.

Ошибка установки соединения с базой данных исключена, если все личные данные вы сохраните навсегда. Также важно не перепутать пароль БД и «админки». Их вы также устанавливаете отдельно, и желательно, чтобы они были разные.

Если все правильно, а ошибка по-прежнему не исправлена, нужно протестировать работоспособность БД. Для этого создается специальный тестовый файл. Его конфигурация может несколько отличаться, поэтому желательно самостоятельно для себя подобрать команды. Такой test. php поможет запустить нам проверку системы.

После того как вы заполните документ, нужно перейти на site. com/test. php. При успешном подключении становится понятно, что хостинг работает корректно. Точно так же все хорошо с паролем и именем пользователя.

openserver ошибка установки соединения с базой данных

Если тест выдает, что вы используете некорректное имя или шифр, значит придется отправиться в панель и поменять данные. Если же вы и вовсе не смогли «законнектиться», то проблема на сервере. Тут дело проще. Подождите какое-то время либо обратитесь в службу поддержки хостинга.

Выводы

Похожие неполадки случаются со многими хостерами, в том числе и с Timeweb. Ошибка установки соединения с базой данных может быть вызвана и перебоями на сервере, а может быть связана с некорректным обращением пользователя. Поэтому, если вы решили перенести свой блог с локального компьютера или сервиса на хостинг, при регистрации внимательно сохраняйте все данные, которые вводите, чтобы после не пришлось восстанавливать их.

Источники:

https://losst. ru/oshibka-access-denied-for-user-root-localhost

https://fluxoid. ru/access-denied-for-user-root-localhost. html

https://fb. ru/article/337922/oshibka-ustanovki-soedineniya-s-bazoy-dannyih-prichina-ispravlenie

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: