At Bobcares, we often get requests to fix MySQL errors, as a part of our Server Management Services.
Today, let’s see how our Support Engineers fix this MySQL for our customers.

mysql -u root -p

You can enable access for root using one MySQL command.
то данная статья поможет вам разобраться в проблеме и устранить её.
Самым простым (и самым безопасным) решением будет создать нового пользователя и предоставить ему требуемые привилегии.
Но начнём мы с другого решения:
In the database setting process there is an error:
Error: Database connection failed
It is possible that the database is overloaded or otherwise not running properly.
There is somebody who can tell me what to do in order to proceed.

8 gold badges34 silver badges66 bronze badges
asked Jan 11, 2016 at 16:19
I have been going at this for a couple hours now.
30 gold badges177 silver badges264 bronze badges
asked May 21, 2014 at 18:01
May be you need to reset mysql root password:
Change /etc/mysql/my.cnf configuration file and add skip-grant-tables:
Restart service, and login with root without password, then change the root password:
Remove skip-grant-tables entry from my.cnf and restart mysql.
answered May 27, 2014 at 21:32
answered Oct 4, 2017 at 18:21

As you are new to Linux. Try reading these articles (this and this one too) related to MySQL installation. This will help you understand meaning and reason behind each command which you are using.
answered May 6, 2016 at 5:06

- Введение — ошибка mysql 1045
- 1 способ устранения ошибки mysql 1045
- 3 способ устранения ошибки mysql 1045
- 2 способ устранения ошибки mysql 1045
- PREVENT YOUR SERVER FROM CRASHING!
- To allow from anywhere
- 2) User does not exist
- 4) Password is wrong, or the user forgot his password
- 5) Special characters in the password being converted by Bash
- 6) SSL is required but the client is not using it
- 7) PAM backend not working
- Создание нового пользователя для работы с MySQL через phpMyAdmin
- To allow from some host X
- To allow from localhost
- Заключение по устранению ошибки mysql 1045
Введение — ошибка mysql 1045
Прежде чем приступить к устранению данной ошибки, необходимо понять ряд элементарных вещей в работе базы данных MySQL.
Знак ‘%’ в одинарных кавычках указывает именно на право входить в базу с любого компьютера, кроме локальной машины.
Пользователей с именем root может быть два, три и более. Все эти пользователи будут иметь разные пароли и разные разрешения на вход с определенных хостов.

Понять суть проблемы можно, переведя сообщение об ошибке на русский язык. Означает оно, что пользователю с именем root на машине localhost запрещен доступ к БД при использовании пароля или без него.

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

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

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

Строки, которые нужно изменить в файле конфигурации
Если ошибка появляется с ключом (Using password: NO), нужно сделать следующее изменить файл config.inc.php, указав в нем правильные данные. Если проблема возникает при установке MySQL, нужно удалить базы данных старой версии программы или сменить пароль для доступа к ним, используя режим —skip-grant-tables.
grep ‘temporary password’ /var/log/mysqld.log
Sort date (newest date)
You may see something like this;
Securing the MySQL server deployment.
If you see it says
Watch the last 10 minutes of this video, it teaches you how you do it.
Enter your password at the prompt. A MySQL shell loads.

1 способ устранения ошибки mysql 1045
Самое простое, это попробовать ввести другой пароль от указанного пользователя. Но пароль может быть задан автоматически (в частности root), может быть пустым или просто утерянным.
Залейте файл с новыми параметрами на сервер, предварительно удалив старый, а лучше просто переименуйте старый файл. Перезапустите сервер БД через Вашу панель управления.
После редактирования выше указанного файла попасть в MySQL можно без пароля со всеми привилегиями.
Теперь откройте терминал и войдите под пользователем root без пароля, введя команду:
sudo mysql -u root
Далее введите команду:

Вход в БД под root без пароля
Пользователь root отсутствует по причине удаления. Я его просто удалил для написания данной статьи. У вас он скорей всего присутствует и таблица будет гораздо шире. Это просто мой тестовый сервер для экспериментов.
Давайте посмотрим еще один пример с другого сервера.

Список пользователей БД
НО увы, так бывает НЕ всегда!
3 способ устранения ошибки mysql 1045
Давайте поставим точку, рассмотрим все эти файлы и при необходимости зададим один пароль к данному юзеру.
Файлов к счастью у нас не много, точнее три места которые необходимо проверить и поправить при необходимости.
Во всех трех местах, должны быть одинаковые пароли от этого юзера. Если не так, то исправляйте. В VestaCP при неправильных паролях в этих файлах может отвалится бэкап.
Введение — ошибка mysql 1045
1 способ устранения ошибки mysql 1045
2 способ устранения ошибки mysql 1045
3 способ устранения ошибки mysql 1045
Заключение по устранению ошибки mysql 1045
2 способ устранения ошибки mysql 1045
Выполнить это можно через терминал. Войдите на сервер через терминал с правами администратора и проверьте есть ли доступ без пароля. Как правило на сервере создается один пользователь root со входом без пароля из терминала. Введите команду:
Если на сервер баз данных попасть не удалось, то отредактируйте файл (my.cnf), как рассказано в первом способе и повторите команду:
Теперь, когда в БД удалось попасть через терминал, необходимо создать нового пользователя с паролем и правами админа. Команда:
Следующей командой предоставляются права администратора:
Внимание!!! Не забудьте обратно отредактировать файл my.cnf, то есть удалить строку — skip-grant-tables.
PREVENT YOUR SERVER FROM CRASHING!
Never again lose customers to poor server speed! Let us help you.
Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.
var google_conversion_label = «owonCMyG5nEQ0aD71QM»;
This error may occur due to different reasons in different scenarios. Some of them are:
To allow from anywhere
If not specifying the host to connect (with -h flag), MySQL client will try to connect to the localhost instance while you may be trying to connect to another host/port instance.
Fix: Double check if you are trying to connect to localhost, or be sure to specify host and port if it’s not localhost:
2) User does not exist
or for public IP:
4) Password is wrong, or the user forgot his password
Fix: Check and/or reset password:
5) Special characters in the password being converted by Bash
Fix: Prevent bash from interpreting special characters by wrapping password in single quotes:
6) SSL is required but the client is not using it
Fix: Adding –ssl-mode flag (–ssl flag is deprecated but can be used too)
7) PAM backend not working
To reset password:
Finally, if you are genuinely locked out and need to circumvent the authentication mechanisms in order to regain access to the database, here are a few simple steps to do so:
Создание нового пользователя для работы с MySQL через phpMyAdmin
1. Подключитесь к mysql
Запустите следующие команды (замените some_pass на желаемый пароль):



3. Опционально: разрешение удалённых соединений
Помните: разрешение удалённому пользователю иметь все привилегии – это вопрос безопасности, имейте это ввиду, выполняя последующие шаги. Если вы хотите, чтобы этот пользователь имел те же привилегии во время удалённых подключений, дополнительно выполните (замените some_pass на пароль, используемый на Шаге #2):
To allow from some host X
answered Jan 11, 2016 at 16:55
At the Linux or DOS prompt type
answered Jan 11, 2016 at 19:21

2 silver badges7 bronze badges
After you run the commands listed above, exit the MySQL shell by pressing CTRL + D on your keyboard or type exit; and hit enter. There is no need to restart the mysqld service to log in.
Now try again to access MySQL with root. In the terminal, type in:
There are different ways to approach this issue, but we selected the easiest and fastest method. Make sure to enter the commands as listed in the article to avoid errors in SQL syntax.
To allow from localhost
Для получения доступа к базе данных MySQL/MariaDB обычному пользователю без использования sudo привилегий, зайдите в приглашение командной строки MySQL
и запустите следующие команды:
Переключиться на аутентификацию по паролю можно следующим SQL запросом:
Обратите внимание, что вам нужно ввести ПАРОЛЬ.
Это устаревший метод, он не работает в новых версиях MariaDB, но может по-прежнему работать в MySQL.
sudo systemctl restart mysql.service
mysql -u root -p
==================Конец устаревшего метода==================
Let’s see, how we fix this access denied error for our customers in detail.
a. Not able to login
Recently, one of our customers approached us saying that he is getting an error like the one shown below while he is trying to log in to MySQL.
1. Initially, we opened /etc/mysql/my.cnf
Here we skipped grant tables as there is no other way to log in.
By skipping the grant table option it allows anyone to log in from anywhere and can do anything on the database.
Note: skip-grant-tables is dangerous, so we will remove this at the end.
3 Then, we restarted the MySQL service using the command below:
service mysql restart
Now MySQL is configured to skip the grant-tables. So, we can log in now.
4. We logged into MySQL using:
5. Then, we flushed the privileges using:
7. Then, we removed skip-grant-tables from /etc/mysql/my.cnf
8. Finally, we restarted the MySQL service and logged in to MySQL using the new password.
This fixes the error.
b. No global privilege
If there is no global privilege then this error can happen. In such cases, our Engineers add the privilege by:
Заключение по устранению ошибки mysql 1045
Ошибка mysqli real connect 1045, как правило появляется при неправильной паре имя — пароль или после обновления ПО на сервере. Устраняется путем проверки пользователей через терминал и создания новых пользователей. В случаи не корректного пароля от root редактируются необходимые файлы.
Только полезная информация и реальные кейсы






