Сбросить пароль root mysql centos
Чтобы изменить пароль root пользователя MySQL нужно подключение к серверу по SSH.
Подключаемся к MySQL как пользователь root при помощи команды:
Нажимаем Enter, указываем пароль и снова нажимаем Enter;
Выполним следующие команды:
После этого пароль будет изменён на newpass.
Данный способ также подходит и для изменений паролей других MySQL пользователей. Для этого в вышеуказанной команде необходимо указать пользователя, для которого меняется пароль (например, вместо root@localhost — dovecot@localhost) и новый пароль.
Сброс root-пароля MySQL
Если mysql root-пароль был утерян, его можно сбросить следующим образом:
Подключаемся к VPS с правами root.
На Ubuntu для остановки mysql-сервера используем команду:
Создадим каталог /var/run/mysqld который будет использоваться mysql для хранения и доступа к файлу сокета и назначим необходимые права:
Запустим mysql со следующими параметрами:
Проверим, что процесс запущен:
Затем сбросим пароль root следующей последовательностью запросов:
Новый_root_пароль, мы установили "1111".
Завершим процесс mysqld:
Запустим службу mysql:
Теперь мы можем выполнить вход, используя установленный пароль:
На Debian для остановки mysql-сервера используем команду:
Запускаем mysql с ключем --skip-grant-tables в фоновом режиме :
Заходим в mysql от пользователя root (пароль запрашиваться не будет):
Меняем пароль и применяем привилегии:
На CentOS 7 для остановки mysql-сервера используем команду:
Далее выполняем команду:
Символ & в конце команды означает, что она перейдёт в фоновый режим и мы получим терминал обратно.
Подключаемся к mysql с правами root. Поскольку mysql запущен в безопасном режиме, пароль для входа не требуется:
Выбираем базу данных mysql:
Устанавливаем новый mysql root-пароль командой:
Отключаемся от mysql:
Останавливаем и затем вновь запускаем сервер MySQL командами:
Debian/Ubuntu:
Для доступа к базе данных MySQL или MariaDB нужно ввести имя пользователя и пароль. Во время установки автоматически создаётся учётная запись пользователя root. Это аналог суперпользователя в Linux для MySQL. Он может выполнять все действия со всеми базами данных, а также создавать и удалять других пользователей.
Обычно, пароль для него не устанавливается, и вы можете задать его вручную уже после завершения установки. Но если вы забыли пароль или он был установлен автоматически, но вы его не знаете, то вам может понадобится его сбросить. Это можно сделать несколькими способами. В этой статье мы разберём, как выполняется сброс пароля root MySQL.
В статье я буду использовать Ubuntu и MariaDB, но эта инструкция подойдёт и для других дистрибутивов. В командах с systemctl для Mariadb следует использовать mariadb, а для MySQL - mysql или mysqld.
1. Сброс пароля с помощью init-file
При запуске сервиса MySQL можно указать файл, из которого будут выполнены команды sql сразу после запуска. Адрес этого файла указывается опцией --init-file. Но сначала давайте создадим файл, который будет изменять файл нашего пользователя:
Затем остановите сервис, если он запущен:
sudo systemctl stop mysql
sudo systemctl stop mariadb
Теперь осталось выполнить наш файл:
sudo mysqld --user=mysql --init-file=/home/sergiy/init-file.txt --console
Подождите минуту, чтобы всё успело сработать как нужно, а затем остановите этот процесс. В консоли команда сообщит started as proccess и PID процесса, этот PID нам и нужен, чтобы его остановить. Например:
sudo kill -TERM 5356
Далее запустите mysql обычным способом и попробуйте войти со своим новым паролем:
sudo systemctl start mariadb
Сброс пароля с помощью skip-grant-tables
Кроме того, есть и другой способ сбросить пароль MySQL. Мы можем запустить сервис с параметром --skip-grant-tables. В этом режиме программа пропускает загрузку данных о пользователях и тогда вы можете авторизоваться без ввода пароля. Аналогично, сначала нужно остановить сервис:
sudo systemctl stop mariadb
Затем запустите mysql вручную с помощью такой команды:
sudo mysqld --user=mysql --skip-grant-tables
Войдите в консоль управления mysql:
Так как мы загрузились без таблиц привелегий пользователей, то эти таблицы необходимо подгрузить сейчас:
Теперь можно сменить пароль для пользователя root:
Затем закройте консоль клиента mysql:
Завершите запущенный вручную сервис, таким же образом как в предыдущем пункте:
sudo kill -TERM 5356
И запустите mysql в нормальном режиме:
sudo systemctl start mariadb
Дальше вы можете авторизоваться от имени суперпользователя по этому паролю:
sudo mysql -u root -p
Но, нужно отметить, что для последних версий MariaDB это уже не нужно, так как программа поддерживает авторизацию без пароля если имя пользователя базы данных и имя учетной записи в системе совпадают. Поэтому, если вы хотите войти под root в консоль MySQL, достаточно запустить клиент через sudo.
Выводы
В этой статье мы рассмотрели, как выполняется сброс пароля MySQL Ubuntu. Разработчики постоянно что-то меняют в коде сервиса, поэтому в последних версиях команды ALTER USER или SET PASSWORD могут не работать. Поэтому мы используем универсальную команду UPDATE. Надеюсь, эта информация была для вас полезной.
Нет похожих записей
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.
Оцените статью:
Об авторе
8 комментариев
Losst, здравствуйте. Извиняюсь за некорректно написанную просьбу (и не в теме), но облазив всю сеть ухитрился проморгать пошаговую настройку убунту на слабом ноутбуке (пользуюсь Тошибой 2005 года выпуска, на Пент4 (дискретный видео), 1,7 гига с 2г озу), хотя в характеристиках пользования линукс указывается развёртывание оси на более меньшей оперативе. Если Вас не затруднит посвятить раздел собственно настройки системы на минимальных характеристиках: сама ось, браузер и минимум программ - офис, плейер, и там по мелочи, без программ требующих особых соответствий ядра и видеокарты..
С уважением.
Поставьте Debian последней версии. Если что-то будет не так с уставкой на Ваш компьютер, то будет видны все проблемы. Debian - это основа UBUNTU. UBUNTU - это производная от Debian. Debian всегда стабилен в отличие от UBUNTU, поверьте .
Андрей, день добрый. Дебиан легче чем Лубунту или нужно искать определённую сборку?
Не понимаю понятия легче или тяжелее. Что это значит - не понимаю!
Многие говорят, что окружение KDE - тяжёлое, о GNOME - лёгкое. Не пойму чем это утверждение обосновано? Пробовал оба окружения. Процессор тратит столько же энергии в обоих окружениях. Нагревается также одинаково. Время загрузки ОС зависит от настройки. Здесь мне вообще не понятно это утверждение. Бред какой-то!
Не было ни одного компьютера, на который я бы не поставил Дебиан.
Всё зависит от Вашего хотения. Может у Вас Дебиан сразу поставиться нормально. А, может придётся установить дополнительно пакеты с программами.
--skip-grant-tables прекрасно работает из конфигурационного файла.
вот не надо делать базе kill
А, вот как правильно уставить пароль в Krbf для KDE, чтобы потом проблем не было с доступом - это с удовольствием посмотрел!
Или, как убрать шипение микрофона в Linux при использовании PulseAudio, это когда звук пишешь. То же, хотелось бы узнать правильную информацию!
После установки MySQL 5.7.26 под управлением Ubuntu 18.04, пришло резкое понимание того, что залогиниться в mysql из-под текущего пользователя с учетной записью root не получится, никаких манипуляций с пользователями и правами провернуть не получиться. Потому что только root и только unix socket и никаких паролей.
Для успешного входа и манипуляций с mysql потребуется выполнить sudo mysql -u root или предварительно авторизоваться в системе как root и выполнить mysql -u root.
Честно говоря не вижу смысла менять способ авторизации mysql-пользователя root с сокета на пароль, создавать и вводить его, а потом этот самый пароль ещё и сбрасывать. Существующие настройки довольно безопасны: авторизация root (mysql) возможна только с localhost, прикрыть системный root по SSH (если SSH используется) тоже не проблема.
Лучше настроить дополнительных mysql-пользователей, например для использования phpmyadmin создать пользователя с таким же именем — phpmyadmin — и правами, что и у root, и авторизацией по паролю. После этого можно авторизоваться от имени любого пользователя сиcтемы, зная пароль phpmyadmin, но лучше создать каждому пользователю системы своего пользователя mysql с необходимыми правами, а еще лучше не создавать =).
В базе mysql пароли хранятся в зашифрованном виде, оператор UPDATE просто заменяет данный в таблице, то есть командой update нужно вставлять зашифрованные пароли.
Это руководство объясняет, каким образом можно установить, измененить или сбросить (если вы забыли пароль) рутовый пароль в MySQL. Снова и снова я наблюдаю одну и ту же картину:
Поэтому я нашёл время, чтобы напомнить вам как решить связанную с этим проблему в MySQL. Если вы ищете быстрое решение проблемы по сбросу пароля root, можете найте его в конце данного руководства.
mysqladmin -команда, при помощи которой меняется пароль root в MySQL
Метод 1. Установка пароля root в первый раз.
Если вы никогда не устанавливали пароль root в MySQL, сервер не будет требовать пароля root для подключения к вашим базам данных. Чтобы впервые установить пароль MySQL используйте в консоли команду mysqladmin как показано далее:
mysqladmin -u root password newpass
где newpass будет пароль который вы устанавливаете.
Для изменения (обновления) пароля root воспользуйтесь следующей командой:
mysqladmin -u root -p oldpassword newpass
то это означает, что пароль вы попросту забыли, либо его сменил кто-то другой. Воспользуйтесь следующей инструкцией для восстановления пароля к вашему MySQL.
Изменения пароля MySQL для других пользователей.
Для изменения пароля обычного пользователя введите следующую команду:
mysqladmin -u user-name -p oldpassword newpass
MySQL хранит имена пользователей и пароли в таблице пользователей внутри базы данных. Вы можете обновить пароль используя следующий метод:
1. Залогиньтесь в MySQL и введите следующую команду:
2. Начните работу с базой данных. В качестве приглашения для ввода команд вначале строки у вас должно быть mysql>
3. Смените пароль пользователя
4. Перегрузите привелегии и отлогиньтесь
Этот метод применим в случае использования на вашем сервере PHP и скриптов Perl.
Восстановление пароля root в MySQL.
Вы можете восстановить пароль от баз данных MySQL если повторите следующие 5 шагов:
Далее приводятся команды, которые необходимо использовать для каждого шага, при условии, что вы вошли в систему с root-привелегиями.
1. Останавливаем службу MySQL:
/etc/init.d/mysql stop
Stopping MySQL database server: mysqld.
Должен быть следующий вывод:
[1] 5988
Starting mysqld daemon with databases from /var/lib/mysql
mysqld_safe[6025]: started
3. Подключаемся с серверу MySQL при помощи клиента mysql:
4. Вводим новый пароль для root:
Вы забыли ваш root-пароль от MariaDB?
Не беспокойтесь, есть простой способ сбросить ваш пароль менее чем за 5 минут!
Эта статья проведёт вас через процесс сброса пароля root вашей MariaDB на вашем сервере CentOS 7.
Внимание! Вам нужен root-доступ на ваш сервер, чтобы иметь возможность изменить пароль.
2. Сброс пароля.
2.1. Подготовка MariaDB к сбросу пароля.
Чтобы узнать версию программы, введите:
Ответ:
Зайдите на ваш CentOS 7 сервер как root.
Остановите запущенный демон MariaDB:
Если вы запустите MariaDB, не загружая информацию о пользовательских привилегиях, вы сможете получить доступ к командной строке базы данных с привилегиями суперпользователя без пароля.
Для этого нужно предотвратить загрузку таблиц привилегий, в которых хранятся данные о привилегиях пользователя. Такой метод доступа подвергает сервер опасности, потому очень важно запретить подключения сети и других клиентов.
Таблицы GRANT хранят пароли, следовательно, используя эту опцию вы можете войти в MariaDB без пароля:
Ответ:
Теперь вы можете войти в MariaDB без пароля:
Когда вы вошли, вы можете сбросить ваш root пароль MariaDB, выполнив следующие SQL команды.
Перезапустите таблицы привилегий с помощью команды:
2.2. Немного технической информации.
Выбираем техническую таблицу:
Смотрим какие таблицы содержатся в базе данных:
Ответ:
Смотрим содержимое таблицы user :
Ответ:
Смотрим содержимое колонки User :
> SELECT User FROM user;
Ответ:
Смотрим содержимое колонки Password :
> SELECT Password FROM user;
Ответ:
Пароль в зашифрованном виде.
2.3. Изменение пароля.
Теперь можно изменить пароль root.
В MariaDB 10.1.20+ используйте команду:
> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
Ответ:
В старых предыдущих версиях до MariaDB 10.1.20+ было вот так:
Не забудьте заменить старый пароль вашим новым паролем.
В версиях до MariaDB 10.1.20 и более ранних версиях СУБД введите:
> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');
Вместо new_password укажите новый пароль пользователя root .
После обновления пароля на экране должен появиться такой вывод:
Пароль успешно изменен, так что теперь можно перезапустить сервер базы данных.
Теперь очистите привилегии и выйдите из сервера MariaDB:
> FLUSH PRIVILEGES;
> exit;
Не всё так просто! Так как мы запускали сервер в аварийном режиме, то он не сможет стартануть традиционным способом в штатном режиме.
Придётся его припарковать руками по шаблону kill -9 '/var/run/mariadb/mariadb.pid' :
Ответ:
Находим все PID и завершаем процессы:
Наконец, перезапустите ваш сервер MariaDB:
Сделано. Ваш старый пароль root MariaDB изменён и у вас новый пароль.
Читайте также: