3 простых способа сброса пароля для root-пользователя в MySQL
В случае, если необходимо изменить пароль root-пользователя базы данных, в том числе при его утере, воспользуйтесь следующей инструкцией.
- Что такое MySQL и MariaDB
- Введение
- Введение
- Как изменить пароль root-пользователя MySQL
- Как изменить пароль root-пользователя MySQL, если текущий пароль был утерян
- Метод 1. Установка пароля root в первый раз.
- Изменения пароля MySQL для других пользователей.
- Метод 2 — Обновление или изменение пароля.
- Восстановление пароля root в MySQL.
- Как установить пароль root для начала использования MySQL
- Общая информация
- Требования для сброса пароля
- План сброса
- Определение версии MySQL
- Остановка сервера
- Отключение привилегий MySQL сервера
- Изменение пароля root пользователя MySQL
- Изменение пароля для MySQL 5.7.6 и новее
- Изменения пароля на MySQL 5.7.5 и позднее
- Завершение
- Восстановление привилегий и запуск сервера MySQL
- Проверка нового пароля
- Требования
- 1: Определение версии и остановка сервера БД
- 2: Перезапуск сервера
- Настройка MariaDB для запуска без привилегий
- Настройка MySQL для запуска без привилегий
- 3: Изменение root-пароля
- Изменение пароля в MariaDB
- Изменение пароля в MySQL
- 4: Перезапуск сервера БД в обычном режиме
- Заключение
- Шаг 1 – Определяем версию и останавливаем сервер базы данных.
- Шаг 8. Завершите все процессы MySQL и перезапустите службу MySQL
- Сбросить пароль root в MySQL с помощью SKIP-GRANT-TABLES
- Шаг 4. Запустите службу MySQL
- Сброс или изменение пароля root для MySQL в Ubuntu и Debian
- Как изменить пароль пользователя MySQL
- 1. Войдите в оболочку MySQL как root.
- 2. Установите пароль пользователя MySQL.
- Сброс пароля с помощью skip-grant-tables
- Шаг 3 – Изменение пароля root
- Меняем пароль root для MariaDB
- Меняем пароль root для MySQL
- Смена пароля, если текущий пароль известен или не был установлен ранее
- Самый простой способ для последних версий
- Шаг 2 – Перезапускаем сервер базы данных в режиме –skip-grant-tables
- Настройка режима –skip-grant-tables для MariaDB
- Настройка режима –skip-grant-tables для MySQL
- Шаг 6. Войдите в оболочку MySQL
- Проверка и настройка для более удобного использования в дальнейшем
- Как изменить пароль пользователя на новых версиях MySQL
- Шаг 1. Проверьте версию MySQL в Ubuntu 20
- Смена пароля, если текущий пароль утерян
- Шаг 7. Измените пароль root
- Шаг 2. Остановите сервер MySQL
- Шаг 3. Пропустите таблицы грантов и нетворкинг
- Изменить пароль root для MySQL в Unix
- Как сбросить пароль root для сервисов MySQL и MariaDB
- Зачем может понадобиться сбрасывать пароль
- Войдите в систему с новым паролем
- Как сбросить root пароль MySQL в Linux
- Как сбросить забытый пароль MySQL
- Подтвердите статус сервера MySQL
- Подготовка
- Создайте новый пароль root для MySQL в Linux, CentOS, Fedora
- Шаг 4 – Запускаем сервер базы данных в штатном режиме.
- Как изменить / сбросить пароль root MySQL, когда доступ запрещен для пользователя Root @ Localhost
- Разрешить пользователю root подключаться к MySQL и MariaDB без sudo
- Сбросить пароль с помощью init-file
- Сброс пароля с помощью init-file
- Об авторе
- Итог
- Заключение
- Заключение
- Выводы
- Выводы
Что такое MySQL и MariaDB
MySQL и MariaDB – очень популярные системы управления базами данных, основанных на языке запросов SQL. Сегодня их используют для веб-сайтов, проектов по машинному обучению, в различных средах разработки и так далее.
В этом руководстве мы покажем вам, как изменить пароль пользователя MySQL. Инструкции должны работать с любым современным дистрибутивом Linux, таким как Ubuntu 18.04 и CentOS 7.
Иногда появляется необходимость восстановить пароль администратора базы данных MySQL (root пользователя или другого суперпользователя, например, если суперпользователь не root или root был удален) на сервере с ОС Linux. Ниже пошагово рассмотрим как сбросить пароль администратора бд MySQL.
Никогда не беспокой другого тем, что ты можешь сделать сам (Л. Толстой).
ароли сложно запомнить, поэтому, если вы забыли пароль root MySQL, к счастью, есть способ его изменить. Этот пост был написан для вас, и к концу этого поста вы успешно измените пароль MySQL.
Прежде чем перейти непосредственно к решению, предполагается, что вы используете последнюю версию базы данных MySQL в системе Ubuntu 20.04 LTS. В этом посте будет предоставлено пошаговое руководство по изменению пароля root MySQL в Ubuntu 20.04. Итак, не теряя времени, приступим.
Введение
Доступы к серверам и сервисам нужно тщательно хранить, никому их не передавать и не терять. Но иногда случаются ситуации, когда пароли все-таки теряются или после смены их забывают записать, восстановить такой пароль тоже нет возможности. Если вы забыли пароль от root-пользователя MySQL — не отчаивайтесь, пароль root в MySQL легко сменить.
Важно понимать, что у вас должны быть права администратора на том сервере, где установлен MySQL-сервер. Это может быть либо root-пользователь напрямую, либо доступ через sudo.
Все описанные ниже действия нужно выполнять именно на этом сервере, то есть удаленно сменить пароль от root-пользователя не удастся.
Для доступа к базе данных MySQL или MariaDB нужно ввести имя пользователя и пароль. Во время установки автоматически создаётся учётная запись пользователя root. Это аналог суперпользователя в Linux для MySQL. Он может выполнять все действия со всеми базами данных, а также создавать и удалять других пользователей.
Обычно, пароль для него не устанавливается, и вы можете задать его вручную уже после завершения установки. Но если вы забыли пароль или он был установлен автоматически, но вы его не знаете, то вам может понадобится его сбросить. Это можно сделать несколькими способами. В этой статье мы разберём, как выполняется сброс пароля root MySQL.
В статье я буду использовать Ubuntu и MariaDB, но эта инструкция подойдёт и для других дистрибутивов. В командах с systemctl для Mariadb следует использовать mariadb, а для MySQL — mysql или mysqld.
Введение

В этой статье мы расскажем, как можно решить проблему, когда вы забыли или потеряли пароль root от MySQL или MariaDB. Отчаиваться не стоит, так как его можно сбросить, если иметь доступ к серверу и учетную запись пользователя операционной системы с привилегиями root. Данное руководство было протестировано в операционной системе Ubuntu 20.04 на двух популярных СУБД – MySQL и MariaDB.
Важно: В версии Ubuntu 20.04 дефолтная конфигурация MySQL или MariaDB позволяет получить доступ к базе данных (с правами администратора) без ввода пароля, если мы устанавливаем соединение с сервером БД под пользователем root . В этом случае нам нет необходимости сбрасывать пароль. Чтобы проверить была ли конфигурация аутентификации по умолчанию изменена, вводим команду sudo mysql. Если получаем ошибку access denied, то прибегаем к действиям, указанным с статье.
Как изменить пароль root-пользователя MySQL
1. Подключитесь по SSH к серверу (инструкция здесь).
2. Подключитесь к MySQL как пользователь root:
mysql –u root –p
3. Нажмите Enter. Укажите текущий пароль. Нажмите Enter.
4. Выполните команду:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpassword');
В результате текущий пароль будет заменен на новый, который Вы ввели вместо newpassword.
Точно так же можно изменить пароль для других пользователей MySQL. Вместо root введите имя пользователя, для которого нужно изменить пароль.
Как изменить пароль root-пользователя MySQL, если текущий пароль был утерян
1. Подключитесь по SSH к серверу (инструкция здесь).
2. Остановите MySQL сервер. Выполните следующую команду, в зависимости от операционной системы.
3. Выполните команду:
mysqld_safe --skip-grant-tables &
4. Подключитесь к MySQL серверу с правами root. Пароль не нужен, так как MySQL сервер запущен в безопасном режиме:
mysql -u root
5. Выберите базу данных MySQL:
use mysql;
6. Устанавливаем новый пароль:
update user set password=PASSWORD("newpassword") where User='root';
7. Перезагрузите привилегии:
flush privileges;
8. Отключитесь от MySQL:
quit;
9. Остановите и запустите MySQL с помощью следующих команд, в зависимости от Вашей операционной системы:
10. Проверьте подключение к MySQL с новым паролем:
mysql -u root –p
Это руководство объясняет, каким образом можно установить, измененить или сбросить (если вы забыли пароль) рутовый пароль в MySQL. Снова и снова я наблюдаю одну и ту же картину:
Поэтому я нашёл время, чтобы напомнить вам как решить связанную с этим проблему в MySQL. Если вы ищете быстрое решение проблемы по сбросу пароля root, можете найте его в конце данного руководства.
Метод 1. Установка пароля root в первый раз.
где newpass будет пароль который вы устанавливаете.
Для изменения (обновления) пароля root воспользуйтесь следующей командой:
где oldpassword — ваш старый пароль, а newpassword соотвественно новый. Если же вы в ответ получили следующее сообщение:
то это означает, что пароль вы попросту забыли, либо его сменил кто-то другой. Воспользуйтесь следующей инструкцией для восстановления пароля к вашему MySQL.
Изменения пароля MySQL для других пользователей.
Для изменения пароля обычного пользователя введите следующую команду:
Метод 2 — Обновление или изменение пароля.
MySQL хранит имена пользователей и пароли в таблице пользователей внутри базы данных. Вы можете обновить пароль используя следующий метод:
mysql -u root -p
2. Начните работу с базой данных. В качестве приглашения для ввода команд вначале строки у вас должно быть mysql>
mysql> use mysql;
3. Смените пароль пользователя
mysql> flush privileges;
mysql> quit
Этот метод применим в случае использования на вашем сервере PHP и скриптов Perl.
Восстановление пароля root в MySQL.
Вы можете восстановить пароль от баз данных MySQL если повторите следующие 5 шагов:
- Остановите демон MySQL.
- Запустите демон MySQL (mysqld) с опцией —skip-grant-tables, т.к. в этом случае пароль не запрашивается.
- Подключитесь к серверу MySQL c root-привелегиями
- Введите новый пароль.
- Выйдите и перегрузите демон MySQL.
Далее приводятся команды, которые необходимо использовать для каждого шага, при условии, что вы вошли в систему с root-привелегиями.
1. Останавливаем службу MySQL:
/etc/init.d/mysql stop
Stopping MySQL database server: mysqld.
2. Запускаем службу с опцией —skip-grant-tables
mysqld_safe —skip-grant-tables &
Должен быть следующий вывод:
3. Подключаемся с серверу MySQL при помощи клиента mysql:
mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 4.1.15-Debian_1-log
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql>
4. Вводим новый пароль для root:
5. Останавливаем сервер MySQL:
/etc/init.d/mysql start
mysql -u root -p
Оригинал статьи youisbee.ru
Как установить пароль root для начала использования MySQL
Для только что установленной MySQL пароль пользователя root является пустым.
Вы можете выполнить вход в MySQL (MariaDB) с помощью следующей команды, даже не вводя пароль:
sudo mysql -u root
Чтобы установить пароль root запустите и следуйте инструкциям:
sudo mysql_secure_installation
Давайте внимательно разберёмся со всем, что говорит нам этот скрипт, поскольку вопросам безопасности вер-сервера следует уделять особое внимание.
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
Примечание: запуск всех элементов этого скрипта рекомендуется для всех серверов MariaDB в продакшене (реальном рабочем использовании).
In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank, so you should just press enter here.
Затем у нас спрашивают:
OK, successfully used password, moving on... Setting the root password or using the unix_socket ensures that nobody can log into the MariaDB root user without the proper authorisation. You already have your root account protected, so you can safely answer 'n'. Switch to unix_socket authentication [Y/n] n
Ваша учётная запись root уже защищена, поэтому вы можете спокойно ответить «n».
Я ответил n (нет).
Далее новый вопрос:
Change the root password? [Y/n]
Отвечаем Y (да) и дважды вводим новый пароль. Не используйте в пароле символ точка с запятой и вообще аккуратнее со специальными символами в пароле.
By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n]
Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n]
Обычно, root’у следует разрешать подключаться только с ‘localhost’. Это гарантирует, что кто-то из сети не сможет угадать пароль root’а.
By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n]
По умолчанию MariaDB поставляется с базой данных ‘test’, к которой может любой получить доступ. Это также сделано в целях тестирования и она должна быть удалена перед переходом в реальное рабочее окружение.
Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n]
Перезагрузка таблицы привилегий гарантирует, что все сделанные изменения немедленно будут иметь эффект.
All done! If you've completed all of the above steps, your MariaDB installation should now be secure.
Всё сделано! Если вы завершили все вышеописанные шаги, ваша установленная MariaDB должна быть безопасной.
Ещё раз о пароле MariaDB. Это должен быть надёжный и уникальный пароль. Думайте о нём как о пароле входа на ваш сервер. Он должен отличаться от пароля пользователя Linux.
Общая информация
Сбросить пароль root пользователю базы данных MySQL может потребоваться в случае, если потерян доступ к системе управления базами данных.
Требования для сброса пароля
- Локальный доступ или подключение по SSH к серверу на Ubuntu Linux.
- Предустановленная система СУБД MySQL с отсутствующим доступом.
План сброса
Определение версии MySQL
Стоит сразу определить установленную версию MySQL, поскольку на разных версиях программы, команды, в дальнейшем, могут отличаться.
Для определения версии MySQL в терминале достаточно ввести команду:
mysql --version
Должен появится похожий вывод:
mysql Ver 14.14 Distrib 5.7.22, for Linux (x86_64) using EditLine wrapper
Строку можно сохранить в текстовом документе, чтобы не забыть версию MySQL.
Остановка сервера
Для отключения привилегий нужно остановить сервер MySQL, введя в терминале команду:
sudo systemctl stop mysql
После выполнения команды процесс сервера MySQL будет приостановлен.
Отключение привилегий MySQL сервера
Для начала создаётся конфигурационный файл, который изменяет параметры запуска MySQL. Для этого нужно ввести в терминале команду:
sudo systemctl edit mysql
В созданный текстовой файл нужно внести следующие строки, которые ограничат загрузку Grant-таблиц и запретят выход в сеть (для обеспечения безопасности):
[Service] ExecStart= ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid --skip-grant-tables --skip-networking
Для сохранения изменений в файле нужно нажать «CTRL+X», потом «Y» и подтвердить изменения нажатием «Enter».
Для применения изменений в процессе загрузки MySQL, нужно обновить конфигурацию Systemd командой:
sudo systemctl daemon-reload
Остаётся запустить сервер MySQL с отключенными привилегиями. Для этого в терминале вводится команда:
sudo systemctl start mysql
Изменение пароля root пользователя MySQL
Таблицы привилегий отключены и ничего не мешает выполнить вход в консоль MySQL от имени root пользователя без авторизации.
Для выполнения входа в консоль MySQL нужно ввести команду:
sudo mysql -u root
Авторизация должна пройти без введения пароля.
Для того чтобы сменить пароль пользователя root, нужно загрузить Grant-таблицы, введя команду в терминал MySQL:
FLUSH PRIVILEGES;
Изменение пароля для MySQL 5.7.6 и новее
Смена пароля root пользователя в консоли MySQL выполняется последовательным введением следующих команд:
UPDATE mysql.user SET authentication_string = PASSWORD('MY_NEW_PASSWORD') WHERE User = 'root'; FLUSH PRIVILEGES;
Вместо «MY_NEW_PASSWORD» вводится собственный пароль. Не стоит забывать о безопасности и ставить лёгкие пароли, так как это сыграет на руку злоумышленникам.
Изменения пароля на MySQL 5.7.5 и позднее
Нужно последовательно ввести следующие команды:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MY_NEW_PASSWORD'); FLUSH PRIVILEGES;
В поле «MY_NEW_PASSWORD» вводится собственный пароль.
Завершение
В случае успеха, в обоих случаях, будет получен следующий вывод:
Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0
Восстановление привилегий и запуск сервера MySQL
После изменения пароля необходимо восстановить параметры загрузки сервера MySQL, удалив конфигурацию Systemd. Для этого в терминале последовательно вводятся команды:
sudo systemctl revert mysql sudo systemctl daemon-reload
Далее необходимо перезапустить сервер MySQL со стандартными параметрами. Перезагрузка выполняется следующей командой:
sudo systemctl restart mysql
Проверка нового пароля
Проверить новый пароль можно, выполнив вход в консоль MySQL от имени root пользователя:
mysql -u root -p
15 октября, 2018 12:02 пп
MariaDB, mySQL, Ubuntu
Забыть пароль может каждый. Если это случилось с вашим root-паролем от базы данных MySQL или MariaDB, вы можете получить доступ к аккаунту и сбросить пароль, если у вас есть доступ к серверу и учетная запись пользователя с привилегиями sudo.
Примечание: Обычно в новых установках Ubuntu 18.04 конфигурация MySQL или MariaDB по умолчанию позволяет вам получить доступ к базе данных (с полными правами администратора) без пароля, если подключаться с системной учетной записи root. В этом случае сбрасывать пароль не нужно. Прежде чем приступать к восстановлению root-пароля базы данных, попробуйте обратиться к базе данных с помощью команды sudo mysql. Если это приведет к ошибке access denied, приступайте к выполнению мануала.
В этом мануале вы узнаете, как сбросить root пароль базы данных MySQL и MariaDB, установленных с помощью менеджера пакетов apt в Ubuntu 18.04. Процедура изменения пароля и конфигурация systemd по умолчанию в MySQL и MariaDB отличаются. Инструкции в этом мануале могут подойти и для других версий системы и БД, но они составлены и протестированы специально для Ubuntu 18.04 и стандартных пакетов этого дистрибутива.
Требования
Для работы вам понадобится:
- Сервер Ubuntu 18.04, настроенный по этому мануалу.
- Система управления базами данных MySQL или MariaDB. Инструкции по установке можно найти в мануале Установка MySQL в Ubuntu 18.04.
1: Определение версии и остановка сервера БД
Ubuntu 18.04 использует MySQL или MariaDB, популярный форк, полностью совместимый с MySQL. В зависимости от СУБД вам придется использовать разные команды для восстановления root пароля. На данном этапе важно определить, какой сервер баз данных вы используете.
Введите такую команду:
Если на вашем сервере используется MariaDB, это будет указано в выводе команды вместе с версией:
mysql Ver 15.1 Distrib 10.1.29-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
Если у вас MySQL, вы увидите:
mysql Ver 14.14 Distrib 5.7.22, for Linux (x86_64) using EditLine wrapper
Сейчас очень важно узнать, какая база данных работает на вашем сервере, так как это определяет дальнейшие ваши действия.
Чтобы изменить пароль root, вам необходимо остановить сервер базы данных. Если вы используете MariaDB, вы можете сделать это с помощью следующей команды:
sudo systemctl stop mariadb
Для MySQL введите:
sudo systemctl stop mysql
Остановив сервер БД, вы можете перезапустить его в безопасном режиме, чтобы сбросить root пароль.
2: Перезапуск сервера
Запуск MySQL и MariaDB без проверки привилегий позволяет получить доступ к командной строке базы данных с правами root без предоставления пароля. Для этого вам необходимо остановить загрузку таблиц привилегий БД, в которых хранятся данные о правах пользователя. Поскольку это немного опасно, вы также можете отключить сеть, чтобы другие клиенты не могли подключиться к временно уязвимому серверу.
Выполните один из следующих подразделов в зависимости от того, какой сервер баз данных вы используете.
Настройка MariaDB для запуска без привилегий
Чтобы запустить сервер MariaDB без привилегий, нужно использовать юнит-файл systemd для установки дополнительных параметров демонов сервера MariaDB.
Выполните следующую команду, которая устанавливает переменную среды MYSQLD_OPTS, используемую MariaDB при запуске. Параметры -skip-grant-tables и -skip-network указывают, что MariaDB запускается без таблиц привилегий и сетевых функций:
sudo systemctl set-environment MYSQLD_OPTS="--skip-grant-tables --skip-networking"
Теперь запустите MariaDB:
sudo systemctl start mariadb
Команда не отображает никакого вывода, но она перезапустит сервер БД с учетом новых переменных.
Чтобы убедиться, что сервер запущен, введите команду:
sudo systemctl status mariadb
Теперь можно подключиться к MariaDB как пользователь root без пароля:
sudo mysql -u root
Вы увидите командную строку оболочки MariaDB:
Теперь переходите к разделу 3.
Настройка MySQL для запуска без привилегий
Чтобы запустить сервер MySQL без таблиц привилегий, нужно изменить конфигурацию systemd MySQL и передать серверу дополнительные параметры командной строки при запуске.
Для этого выполните следующую команду:
sudo systemctl edit mysql
Эта команда откроет новый файл в редакторе nano, который можно использовать для управления переопределений MySQL. Они изменяют параметры сервиса MySQL по умолчанию. Этот файл будет пустым, в него нужно вставить следующий контент:
Первый оператор ExecStart очищает значение по умолчанию, а второй предоставляет systemd новую команду запуска с параметрами для отключения загрузки таблиц привилегий и сетевых функций.
Нажмите CTRL-Х, чтобы выйти из файла, затем Y, чтобы сохранить изменения, и ENTER, чтобы подтвердить имя файла.
Перезагрузите конфигурацию systemd, чтобы применить эти изменения:
sudo systemctl daemon-reload
Запустите сервер MySQL:
sudo systemctl start mysql
Команда не отображает никакого вывода, но она перезапустит сервер БД с учетом новых конфигураций.
Теперь можно подключиться к БД как пользователь root без пароля:
sudo mysql -u root
Вы увидите командную строку оболочки MySQL:
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
Теперь можно сбросить утраченный пароль.
3: Изменение root-пароля
Сервер базы данных теперь работает в ограниченном режиме; таблицы привилегий не загружаются, и поддержка сети отключена. Этот режим позволяет вам обращаться к серверу без предоставления пароля, но запрещает выполнять команды, которые изменяют данные. Чтобы сбросить пароль root, нужно загрузить таблицы привилегий после того, как вы получили доступ к серверу.
Чтобы перезагрузить таблицы, введите команду FLUSH PRIVILEGES.
Теперь вы можете изменить root-пароль. Дальнейшие действия зависят от того, какую СУБД вы используете, MariaDB или MySQL.
Изменение пароля в MariaDB
Если вы используете MariaDB, выполните следующую команду, чтобы установить пароль учетной записи root. Вместо new_password укажите свой новый пароль, который вы запомните.
Если пароль успешно изменен, вы увидите:
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
MariaDB позволяет использовать пользовательские механизмы аутентификации. Введите следующие два оператора, чтобы убедиться, что MariaDB будет использовать механизм аутентификации по умолчанию для нового пароля, который вы только что присвоили учетной записи root:
Вы увидите вывод:
Query OK, 0 rows affected (0.01 sec)
Rows matched: 1 Changed: 0 Warnings: 0
Пароль изменен. Введите exit, чтобы выйти из консоли MariaDB и перейдите к разделу 4, чтобы перезапустить сервер базы данных в обычном режиме.
Изменение пароля в MySQL
В MySQL выполните следующий оператор, чтобы изменить пароль пользователя root. Вместо new_password нужно указать новый надежный пароль, который вы запомните:
Если пароль успешно изменен, вы увидите:
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
MySQL позволяет использовать пользовательские механизмы аутентификации. Введите следующий оператор, чтобы убедиться, что MySQL будет использовать механизм аутентификации по умолчанию для нового пароля, который вы только что присвоили учетной записи root:
Вы увидите вывод:
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
Пароль изменен. Введите exit, чтобы выйти из консоли MySQL.
Теперь нужно перезапустить сервер базы данных в обычном режиме.
4: Перезапуск сервера БД в обычном режиме
Чтобы перезапустить сервер базы данных в обычном режиме, необходимо отменить сделанные в разделе 2 изменения – включить поддержку сети и восстановить загрузку таблиц привилегий. Опять же, команды в MariaDB или MySQL отличаются.
В MariaDB отключите переменную среды MYSQLD_OPTS, которую вы установили ранее:
sudo systemctl unset-environment MYSQLD_OPTS
Теперь перезапустите сервис с помощью systemctl:
sudo systemctl restart mariadb
В MySQL удалите измененные конфигурации systemd.
sudo systemctl revert mysql
Вы увидите такой вывод:
Removed /etc/systemd/system/mysql.service.d/override.conf.
Removed /etc/systemd/system/mysql.service.d.
Обновите конфигурации systemd:
sudo systemctl daemon-reload
А затем перезапустите сервис:
sudo systemctl restart mysql
Теперь БД работает в нормальном режиме. Убедитесь, что новый пароль работает:
mysql -u root -p
Команда должна запросить у вас пароль. Введите новый пароль, чтобы получить доступ к данным.
Заключение
Вы восстановили административный доступ к серверу MySQL и MariaDB. Убедитесь, что новый пароль, который вы выбрали, является достаточно надежным и безопасным, и храните его в надежном месте.
Больше дополнительной информации об управлении пользователями, механизмах аутентификации или способах сброса пароля БД в других версиях СУБД можно найти в официальной документации MySQL и MariaDB.
Tags: MariaDB, MySQL, Ubuntu, Ubuntu 18.04
Шаг 1 – Определяем версию и останавливаем сервер базы данных.
Необходимы различные действия для сброса root пароля в зависимости от того, какая СУБД у нас установлена – MySQL или MariaDB. Для того, чтобы определить, какой сервер базы данных установлен в системе вводим:
mysql --version
Если используется MariaDB, то в выводе получим следующее: (разумеется, версия БД может меняться)
MariaDB output
mysql Ver 15.1 Distrib 10.3.25-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
MySQL output
mysql Ver 8.0.22-0ubuntu0.20.04.3 for Linux on x86_64 ((Ubuntu))
Чтобы произвести сброс root-пароля в MySQL или MariaDB, нам необходимо остановить сервер базы данных.
sudo systemctl stop mariadb
sudo systemctl stop mysql
После остановки базы данных производим ее перезапуск в безопасном режиме для сброса пароля root.
Шаг 8. Завершите все процессы MySQL и перезапустите службу MySQL
Прежде всего, убейте все процессы MySQL еще до перезапуска сервера MySQL.
Получив результат, нажмите «Enter» и перезапустите сервер MySQL, используя команду, приведенную ниже.
$ sudo systemctl restart mysql.service
Сбросить пароль root в MySQL с помощью SKIP-GRANT-TABLES
В этом способе мы отключим проверку полномочий при запуске MySQL-сервера, и тогда подключиться сможет вообще любой пользователь без указания пароля. Важно, чтобы на это время сервер не был доступен по сети для внешних запросов, иначе к нему сможет подключиться любой желающий.
Для начала нужно остановить сервер:
sudo systemctl stop mysql
Теперь отредактируем service-файл, который запускает MySQL. Выполним команду:
sudo systemctl edit mysql
Откроется текстовый редактор, в котором мы можем переопределить дефолтный файл запуска. Вставим в него следующую конфигурацию:
[Service]
ExecStart=
ExecStart=/usr/sbin/mysqld --skip-grant-tables --skip-networking
Мы указываем, что сервер нужно запустить без проверки grant-таблиц, а также ограничить подключения по сети. Сохраните файл и выйдите из текстового редактора. Теперь нужно обновить конфигурацию systemd, чтобы он учитывал наш новый конфиг, а затем можно запустить сервер:
sudo systemctl daemon-reload
sudo systemctl start mysql
mysql -u root
Так как мы запустили сервер без проверки полномочий, сначала нам нужно применить таблицу привилегий, чтобы мы могли записать в нее новый пароль. Вместо 12345 укажите свой пароль:
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '12345';
Выходим из MySQL и возвращаем настройки запуска по умолчанию. Для этого нам нужно удалить service-файл для systemd, перечитать конфигурацию и снова запустить сервер БД:
sudo systemctl revert mysql
sudo systemctl daemon-reload
sudo systemctl restart mysql
Шаг 4. Запустите службу MySQL
После установки переменной окружения MYSQLD_OPTS запустите службу MySQL, используя команду:
$ sudo systemctl start mysql.service
Сброс или изменение пароля root для MySQL в Ubuntu и Debian
Вы должны джейлбрейк iPhone для изменения тем сообщений. Модифицированный iPhone позволяет пользователю менять цвет пузырьков, хотя это делать не рекомендуется. Но изменение пузырей текстовых сообщений SMS позволит вам придать вашему iPhone более индивидуальный вид.
Остановите процесс демона MySQL с помощью этой команды
sudo /etc/init.d/mysql остановить
Запустите MySQL без пароля с помощью этой команды
sudo mysqld_safe —skip-grant-tables &
Подключитесь к клиентскому процессу MySQL с помощью этой команды
Сбросить / сменить пароль
использовать MySQL;
обновить пользовательский пароль = ПАРОЛЬ («mynewpassword»), где «Пользователь» = «root»;
флеш привилегии;
выход
Остановите и перезапустите службу MySQL с помощью следующих команд
Войдите в базу данных MySQL с помощью команды
mysql -u root -p
Затем вы повысите ваш новый пароль.
Примите следующие команды для сброса пароля root для MySQL root2localhost.
Войдите в систему как администратор.
Остановите сервер MySQL, выбрав «Пуск»> «Панель управления»> «Администрирование»> «Службы», чтобы найти MySQL и остановить его.
Создайте текстовый файл, содержащий назначение пароля в одной строке. Замените слово, которое вы хотите использовать в команде
Сохраните файл, и в примере предполагается, что вы назвали файл C: \ mysql-init.txt.
Запустите сервер MySQL с параметром —init-file
C: \> cd «C: \ Program Files \ MySQL \ MySQL Server 5.7 \ bin»
C: \> mysqld —init-file = C: \\ mysql-init.txt
После успешного перезапуска сервера MySQL удалите «C: \ mysql-init.txt».
После этого вы сможете подключиться к серверу MySQL от имени root с новым паролем. s
Как изменить пароль пользователя MySQL
Выполните следующие действия, чтобы изменить пароль пользователя MySQL:
1. Войдите в оболочку MySQL как root.
Войдите в оболочку MySQL, набрав следующую команду и при появлении запроса введите пароль root-пользователя MySQL:
mysql -u root -p
2. Установите пароль пользователя MySQL.
Введите следующие команды, если у вас MySQL 5.7.6 и новее или MariaDB 10.1.20 и новее:
ALTER USER 'user-name'@'localhost' IDENTIFIED BY 'NEW_USER_PASSWORD';
FLUSH PRIVILEGES;
UPDATE mysql.user SET authentication_string = PASSWORD('NEW_USER_PASSWORD')
WHERE User = 'user-name' AND Host = 'localhost';
FLUSH PRIVILEGES;
Введите следующие команды, если у вас MySQL 5.7.5 и ранее или MariaDB 10.1.20 и ранее:
SET PASSWORD FOR 'user-name'@'localhost' = PASSWORD('NEW_USER_PASSWORD');
FLUSH PRIVILEGES;
В обоих случаях, если все пойдет хорошо, вы увидите следующий результат:
Query OK, 0 rows affected (0.00 sec)
Выйдите из командной строки MySQL, выполнив:
quit;
3. Подтвердите новый пароль.
Чтобы убедиться, что новый пароль применен правильно, введите:
mysql -u user-name -h localhost -p
Вам будет предложено ввести новый пароль пользователя. Введите его, и вы войдете на свой сервер MySQL.
Сброс пароля с помощью skip-grant-tables
Кроме того, есть и другой способ сбросить пароль MySQL. Мы можем запустить сервис с параметром —skip-grant-tables. В этом режиме программа пропускает загрузку данных о пользователях и тогда вы можете авторизоваться без ввода пароля. Аналогично, сначала нужно остановить сервис:
sudo systemctl stop mariadb
Затем запустите mysql вручную с помощью такой команды:
Войдите в консоль управления mysql:
mysql -u root
Так как мы загрузились без таблиц привелегий пользователей, то эти таблицы необходимо подгрузить сейчас:
Теперь можно сменить пароль для пользователя root:
Затем закройте консоль клиента mysql:
Завершите запущенный вручную сервис, таким же образом как в предыдущем пункте:
sudo kill -TERM 5356
И запустите mysql в нормальном режиме:
sudo systemctl start mariadb
Дальше вы можете авторизоваться от имени суперпользователя по этому паролю:
sudo mysql -u root -p
Шаг 3 – Изменение пароля root
Поскольку СУБД запущена в режиме –skip-grant-tables, мы имеем возможность получить доступ к серверу баз данных без пароля, но не можем выполнять запросы на изменением данных. Чтобы установить пароль root , нам необходимо перезагрузить таблицы предоставления привилегий, выполнив инструкцию:
FLUSH PRIVILEGES;
Теперь сброс пароля root в MySQL или MariaDB возможен .
Меняем пароль root для MariaDB
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
В строке ‘new_password’ указываем свой пароль.
Output
Query OK, 0 rows affected (0.001 sec)
Далее установим механизм аутентификации по умолчанию:
UPDATE mysql.user SET authentication_string = '' WHERE user = 'root';
UPDATE mysql.user SET plugin = '' WHERE user = 'root';
Пароль изменен. Выходим из консоли MariaDB и смотрим Шаг 4 для перезапуска сервера базы данных в штатном режиме.
Меняем пароль root для MySQL
Для MySQL выполняем следующий запрос, заменив new_password на свой пароль. MySQL позволяет использовать настраиваемые механизмы аутентификации, поэтому добавляем инструкцию, указывающую MySQL использовать механизм аутентификации по умолчанию:
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'new_password';
Output
Query OK, 0 rows affected (0.01 sec)
Выходим из консоли MySQL и запускаем базу данных в нормальном режиме.
Смена пароля, если текущий пароль известен или не был установлен ранее
Если требуется изменить существующий root-пароль для MySQL либо установить его в случае, когда он не был задан в принципе (это актуально, например, при автоматической установке LAMP при создании сервера — root-пароль MySQL при этом не задается), это можно сделать следующим образом:
- Подключитесь к серверу
- Перейдите к управлению MySQL:
Если пароль root не задан, используйте команду:
Если пароль существует, используйте команду:
mysql -u root -p
После чего введите текущий пароль.
- Выполните запрос ниже, заменив «пароль» на нужное вам значение:
- Выйдите из консоли MySQL командой
\q
. - Проверьте изменения, подключившись с новым паролем. Выполните команду:
mysql -u root -p
После чего введите ваш новый пароль.
Самый простой способ для последних версий
sudo mysql
Вы подключитесь к MySQL-серверу как root-пользователь. Теперь можно сбросить пароль одной командой. Вместо 12345 укажите свой пароль:
ALTER USER 'root'@'localhost' IDENTIFIED BY '12345';
Это самый простой способ, доступный в последних версиях MySQL при использовании плагина аутентификации auth_socket.
Шаг 2 – Перезапускаем сервер базы данных в режиме –skip-grant-tables
Запуск MySQL и MariaDB в режиме –skip-grant-tables позволяет подключиться к базе данных с правами root без пароля. Поскольку это уязвимый режим работы СУБД, рекомендуется запуск сервера БД в однопользовательском режиме .
Настройка режима –skip-grant-tables для MariaDB
Зададим переменную окружения MYSQLD_OPTS, используемую в MariaDB при запуске:
sudo systemctl set-environment MYSQLD_OPTS="--skip-grant-tables --skip-networking"
Запустим сервер БД:
sudo systemctl start mariadb
Корректность запуска сервера смотрим командой:
sudo systemctl status mariadb
Теперь подключаемся к базе данных пользователем root без пароля:
sudo mysql -u root
Подключившись к консоли MariaDB, меняем пароль root, как показано в Шаге 3 далее.
Настройка режима –skip-grant-tables для MySQL
Чтобы запустить сервер MySQL в этом режиме, изменим конфигурацию systemd для MySQL, чтобы при запуске сервер запустился с дополнительными параметрами.
sudo systemctl edit mysql
После выполнения команды будет открыт новый файл в nano-редакторе, где мы будем внесем необходимые параметры запуска сервера MySQL. Изначально файл будет пустым. Добавим следующие строки:
[Service]
ExecStart=
ExecStart=/usr/sbin/mysqld --skip-grant-tables --skip-networking
Нажимаем CTRL-X, чтобы выйти из файла, затем – Y, чтобы сохранить внесенные изменения. Перезагружаем systemd, чтобы перечитать изменения:
sudo systemctl daemon-reload
Запускаем сервер MySQL:
sudo systemctl start mysql
и подключаемся пользователем root:
sudo mysql -u root
Далее переходим к Шагу 3.
Шаг 6. Войдите в оболочку MySQL
Без ввода пароля вы войдете в оболочку MySQL.
Проверка и настройка для более удобного использования в дальнейшем
Чтобы проверить все ли у вас получилось, давайте попробуем авторизоваться в сервисе:
mysql -uroot -p<новый_пароль>
Как видите, авторизация прошла успешно. Чтобы сделать дальнейшее использование сервиса более комфортным, можно сохранить новый пароль в специальный файл в вашем домашнем каталоге. Это позволит вам в дальнейшем не вводить пароль для входа в сервис:
cat << EOF > ~/.my.cnf
Как изменить пароль пользователя на новых версиях MySQL
В последних выпусках MySQL была добавлена возможность входа без пароля, если системная учётная запись имеет root доступ.
Чтобы узнать пароль на новых версиях, достаточно в терминале ввести команду, которая запустит MySQL с правами администратора:
sudo mysql
При получении ошибки «access denied» стоит переходить к описанному выше способу – «Сброс пароля root».
Если доступ к консоли получен успешно получен, можно выполнить сброс пароля root в Ubuntu для MySQL, последовательно вводя следующие команды:
UPDATE mysql.user SET authentication_string = PASSWORD('new_password') WHERE user = 'root';
В поле «new_password» вводится новый пароль для пользователя root.
Для применения изменений нужно перезагрузить таблицы привилегий следующей командой:
FLUSH PRIVILEGES;
В случае успеха будет получен следующий вывод:
Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0
Шаг 1. Проверьте версию MySQL в Ubuntu 20
Прежде всего, проверьте версию своего MySQL, потому что этот пост содержит решение по изменению пароля root в версии 8 или выше. Если версия вашего MySQL ниже 8, решение будет другим. Команда для проверки версии MySQL приведена ниже.
Смена пароля, если текущий пароль утерян
- Подключитесь к серверу
- Остановите службу MySQL:
, чтобы запустить службу без проверки прав доступа. Для этого:
3.1. Откройте файл в редакторе:
Должно получиться примерно так:
3.3. Сохраните изменения (в nano
это выполняется комбинацией Ctrl O -> Enter -> Ctrl X, либо Ctrl X -> Y -> Enter).
service mysql restart
- Снова откройте файл
удалите добавленную строку. Сохраните изменения.
- Подключитесь к MySQL как root без пароля:
- Выберите активную БД:
- Выйдите из mysql командой \q
- Перезапустите службу в обычном режиме:
- Теперь проверьте, что пароль успешно изменен, подключившись под root с новым паролем. Для этого выполните:
mysql -u root -p
После чего введите ваш новый пароль.
Шаг 7. Измените пароль root
Теперь сначала удалите привилегии.
mysql> flush privileges;
Выберите базу данных MySQL.
И установите новый пароль для пользователя root с помощью команды Alter, набрав следующую инструкцию.
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'the-new-password';
Вместо «the-new-password» укажите свой новый пароль. После успешного изменения пароля root MySQL выйдите из оболочки MySQL.
Шаг 2. Остановите сервер MySQL
Чтобы изменить пароль root MySQL, вам сначала нужно выключить сервер MySQL, и вы можете сделать это с помощью команды:
$ sudo systemctl stop mysql.service
Проверьте состояние сервера MySQL, чтобы проверить его, используя команду:
$ sudo systemctl status mysql.service
Шаг 3. Пропустите таблицы грантов и нетворкинг
Чтобы запустить сервер MySQL без предоставления таблиц и проверки сети, установите переменную среды MYSQLD_OPTS, которую MySQL использует при запуске.
$ sudo systemctl set-environment MYSQLD_OPTS="--skip-networking --skip-grant-tables"
Изменить пароль root для MySQL в Unix
Войдите в систему как пользователь Unix, под которым работает сервер MySQL.
Остановите сервер MySQL, отправив обычное уничтожение, и используйте фактическое имя присяги, если файл .paid в команде
shell> kill `cat / mysql-data-directory / host_name.pid`
Создайте текстовый файл, содержащий назначение пароля в одной строке, как в Windows в командах
Сохраните файл. В этом примере предполагается, что вы называете файл «/ home / me / mysql-init».
Запустите сервер MySQL с опцией «-init-file»
Shell> mysqld_safe —init-file = / home / me / mysql-initz
После успешного перезапуска сервера удалите «/ home / me / mysql-init».
Теперь вы можете подключиться к серверу MySQL в качестве root, используя новый пароль. Остановите сервер и перезапустите его как обычно.
Как сбросить пароль root для сервисов MySQL и MariaDB
Чтобы установить новый пароль для пользователя root сервиса управления базами данных (ВНИМАНИЕ – это НЕ системный пользователь root!), выполните следующие действия:
Войдите на свой сервер как привилегированный пользователь;
service mysql stop # для MySQL
service mariadb stop # для MariaDB
Временно разрешите аутентификацию без пароля и запустите службу:
Авторизуйтесь в системе управления базами данных и установите новый root-пароль:
Удалите директиву skip-grant-tables из файла и перезапустите службу:
service mysql stop; sed -i -e '$d' /etc/mysql/my.cnf && sed -i -e '$d' /etc/mysql/my.cnf; service mysql start
Обратите внимание – я не случайно запустил команду sed -i -e ‘$d’ дважды, а потому, что из конфигурационного файла нужно удалить две последние строки.
Зачем может понадобиться сбрасывать пароль
Причины очевидны – текущий пароль может быть автоматически изменен после обновления пакетов службы базы данных на новую версию, пароль можно случайно забыть, может быть утеряно хранилище личных паролей и т.д.
Войдите в систему с новым паролем
Теперь войдите в оболочку MySQL с новым установленным паролем.
Введите недавно установленный пароль в команде ALTER.
Все. Пароль root MySQL успешно изменен, и вы снова вошли в оболочку MySQL.
Как сбросить root пароль MySQL в Linux
1. Останавливаем MySQL, выполнив команду ниже:
/etc/init.d/mysql stop
2. Запускаем MySQL-сервер с особыми параметрами (без проверки привилегий):
/usr/bin/mysqld_safe --skip-grant-tables --user=root &
3. Запускаем клиента MySQL:
mysql -u root
4. Устанавливаем новый пароль для root пользователя, для этого выполним SQL запрос ниже:
mysql>UPDATE mysql.user SET Password=PASSWORD('password_for_root') WHERE User='root';
где password_for_root — это новый пароль для root пользователя MySQL.
5. После этого сбрасываем привилегии командой:
mysql>FLUSH PRIVILEGES;
6. И выходим из клиента MySQL:
mysql>\q
7. После этого необходимо перезапустить MySQL сервер в штатном режиме, выполнив команду:
/etc/init.d/mysql restart
Это все действия, которые необходимы для того, чтобы сбросить пароль root в MySQL. После этого можно использовать новый root пароль для подключения.
Последнее в блоге
Как сбросить забытый пароль MySQL
Если вы вдруг забыли (или не знали) пароль от MySQL в Kali Linux, то эта инструкция поможет вам сбросить (заменить на новый), но не узнать пароль рута. Если вас это устраивает, то в первом терминале наберите:
sudo systemctl stop mysql sudo mysqld_safe --skip-grant-tables
В другом терминале
mysql -u root mysql FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY 'новый_пароль'; FLUSH PRIVILEGES; quit
Обратите внимание, что строку НОВЫЙ ПАРОЛЬ нужно заменить на тот пароль, который вы хотите установить для рута MySQL.
В первом терминале CTRL+C или в любом терминале:
sudo kill `sudo cat /var/run/mysqld/mysqld.pid`
sudo systemctl start mysql
Всё, теперь у вашей MySQL новый пароль.
Кстати, этот метод прекрасно сработает на любом Linux, а не только на Kali Linux. Но нужно учитывать, что команды для запуска и остановки служб на разных Linux могут различаться. Приведённые здесь команды без изменения сработают для производных Debian (Mint, Ubuntu).
Подтвердите статус сервера MySQL
Подтвердите статус службы MySQL, работает она или нет:
$ sudo systemctl status mysql.service
Подготовка
В зависимости от версии сервера MySQL или MariaDB, которую вы используете в своей системе, вам нужно будет использовать разные команды для изменения пароля пользователя.
Чтобы узнать версию сервера базы данных, введите следующую команду:
mysql --version
Если в вашей системе установлен MySQL, результат будет выглядеть примерно так:
mysql Ver 14.14 Distrib 5.7.22, for Linux (x86_64) using EditLine wrapper
Или выведите такой вывод для MariaDB:
mysql Ver 15.1 Distrib 10.1.33-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
Обязательно отметьте, какую версию MySQL или MariaDB вы используете. Если вы хотите получить список всех учетных записей пользователей MySQL, ознакомьтесь с этим руководством.
Создайте новый пароль root для MySQL в Linux, CentOS, Fedora
Остановите сервер MySQL в команде
sudo /etc/init.d/mysqld остановить
Запустите MySQL без пароля в команде
sudo mysqld_safe —skip-grant-tables
Подключитесь к серверу MySQL в команде
mysql – урут
Установите новый новый пароль root MySQL в команде
использовать MySQL;
обновить пользовательский пароль = ПАРОЛЬ («mynewpassword»), где «Пользователь» = «root»;
флеш привилегии;
выход
Остановите и перезапустите сервер MySQL
Войдите на сервер MySQL, чтобы отправить новый пароль в базу данных
mysql -u root -p
Что вы думаете об этом посте.
Как рутировать Android телефон и планшет с лучшими Root Apps / APKs
Как получить root права на свой телефон Android, чтобы получить больше доступа для легкого управления телефоном? Проложи путь в этом посте.
[Решено] Как восстановить файлы Android без рута
Рутирование телефона Android необходимо для восстановления удаленных данных. Тем не менее, вы все равно можете восстановить данные без рутирования телефона здесь.
Root Explorer APK и замены для управления рутированным телефоном
После рутирования телефона вы можете использовать Root Explorer и его альтернативы для глубокого управления файлом телефона.
Шаг 4 – Запускаем сервер базы данных в штатном режиме.
Чтобы перезапустить сервер базы данных в штатном режиме, выполним следующие действия:
Удаляем переменную окружения MYSQLD_OPTS:
sudo systemctl unset-environment MYSQLD_OPTS
и перезапускаем сервер MariaDB:
sudo systemctl restart mariadb
Удаляем все изменения конфигурации демона systemd для MySQL:
sudo systemctl revert mysql
Вывод должен быть примерно таким:
Output
Removed /etc/systemd/system/mysql.service.d/override.conf.
emoved /etc/systemd/system/mysql.service.d.
Затем перезагружаем демон systemd:
sudo systemctl daemon-reload
и сервер MySQL:
sudo systemctl restart mysql
После этого база данных должна перейти в нормальное состояние. Пробуем подключится к серверу базы данных пользователем root с новым паролем:
mysql -u root -p
Успех! Не забывайте пароли=)
Как изменить / сбросить пароль root MySQL, когда доступ запрещен для пользователя Root @ Localhost
Если вы часто используете MySQL, то вы должны быть знакомы с паролем root MySQL, который позволяет пользователю root получить полный доступ к базе данных MySQL. Для этого вам необходимо иметь root-права или права администратора на облачном сервере для управления паролем root MySQL. Однако, если вы столкнулись с ошибкой, как показывает изображение, вам придется изменить или сбросить пароль root MySQL, следуя описанию.
Пароль root или учетной записи администратора облачного сервера не совпадает с паролем MySQL. Пароль облачного сервера позволяет получить доступ к серверу. Пароль root для MySQL разрешает доступ только к базе данных MySQL.
Разрешить пользователю root подключаться к MySQL и MariaDB без sudo
Для получения доступа к базе данных MariaDB обычному пользователю без использования sudo привилегий, зайдите в приглашение командной строки MySQL
sudo mysql
и запустите следующие команды:
use mysql; ALTER USER 'root'@'localhost' IDENTIFIED BY 'ПАРОЛЬ'; exit
Обратите внимание, что вам нужно ввести ПАРОЛЬ.
mysql -u root -p
Сбросить пароль с помощью init-file
Еще один способ — написать init-файл. Это файл, который MySQL считывает перед запуском. В нем можно указать различные команды, в том числе установить пароль любого пользователя.
Создайте простой текстовый файл, например в вашей домашней директории. Назвать его можно как угодно. Вставьте в этот файл команду для смены пароля. Вместо 12345 укажите свой настоящий пароль:
ALTER USER 'root'@'localhost' IDENTIFIED BY '12345';
Теперь нужно остановить MySQL-сервер, чтобы при следующем запуске ему можно было указать путь к нашему init-файлу. Выполните команду:
sudo systemctl stop mysql
Теперь снова запустим сервер, при этом указав путь к созданному нами файлу:
sudo mysqld --user=mysql --init-file=/path/to/init-file &
После запуска этой команды в консоли отобразится PID этого процесса, например 7508. Значит все прошло успешно, MySQL-сервер запустился и выполнил нашу команду. Теперь нам нужно его остановить, удалить init-файл и запустить сервер обычным способом:
sudo kill -15 7508
rm /path/to/init-file
sudo systemctl start mysql
Сброс пароля с помощью init-file
При запуске сервиса MySQL можно указать файл, из которого будут выполнены команды sql сразу после запуска. Адрес этого файла указывается опцией —init-file. Но сначала давайте создадим файл, который будет изменять файл нашего пользователя:
Затем остановите сервис, если он запущен:
sudo systemctl stop mysql
sudo systemctl stop mariadb
Теперь осталось выполнить наш файл:
Подождите минуту, чтобы всё успело сработать как нужно, а затем остановите этот процесс. В консоли команда сообщит started as proccess и PID процесса, этот PID нам и нужен, чтобы его остановить. Например:
sudo kill -TERM 5356
sudo systemctl start mariadb
mysql -u root -p
Об авторе
Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.
Итог
В этой статье вы научились изменять пароль root MySQL в системе Ubuntu 20.04 LTS. Этот пост содержит глубокое и простое для понимания решение по сбросу пароля root MySQL в Ubuntu 20.04.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Заключение
Теперь вы знаете, как сбросить root-пароль для сервисов MySQL или MariaDB, знаете зачем может понадобиться эта операция и как сделать дальнейшее использование данного приложения более комфортным.
Литейный пр., д. 26, Лит. А
+7 (812) 403-06-99
ООО «ИТГЛОБАЛКОМ ЛАБС»
Литейный пр., д. 26, Лит. А
+7 (812) 403-06-99
ООО «ИТГЛОБАЛКОМ ЛАБС»
Заключение
Мы рассмотрели три разных способа сброса пароля для root-пользователя. Теперь MySQL-сервер работает в стандартном режиме, а у вас есть root-доступ к базе данных.
Выводы
В этом руководстве вы узнали, как изменить пароль пользователя MySQL или MariaDB. Убедитесь, что новый пароль надежный и надежный, и храните его в надежном месте.
Выводы
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.