- Как запустить MySQL с —skip-grant-tables?
- 10 ответов
- ИТ База знаний
- Полезно
- Навигация
- Серверные решения
- Телефония
- Корпоративные сети
- Курс по сетям
- Что такое Active Directory и LDAP?
- URL и URI — в чем различие?
- Погружение в Iptables – теория и настройка
- В чем разница между HTTP и HTTPS?
- Сборы и кластеризация текста с учетом контекста
- Что такое API? Простая статья для вашей бабушки
- PHPUnit тестирование – проще простого
- Как сбросить root пароль на MySQL?
- Сброс MySQL root пароля с использованием –init-file
- Сброс MySQL root пароля с использованием –skip-grant-tables
- Сброс пароля root в MySQL
- 1. Сброс пароля с помощью init-file
- Сброс пароля с помощью skip-grant-tables
- Выводы
- Оцените статью:
- Об авторе
- 8 комментариев
Как запустить MySQL с —skip-grant-tables?
Я заблокировал моего пользователя root в нашей базе данных. Мне нужно вернуть все привилегии пользователю root. У меня есть пароль, и я могу войти в MySQL. Но у пользователя root нет всех привилегий.
10 ответов
У меня была та же проблема, что и в названии этого вопроса, поэтому, если кто-то еще погуглит этот вопрос и захочет запустить MySql в режиме «skip-grant-tables» в Windows, вот что я сделал.
Остановите службу MySQL через инструменты администратора, службы.
Измените конфигурационный файл my.ini (предполагая пути по умолчанию)
или для версии MySQL>= 5.6
В разделе SERVER в разделе [mysqld] добавьте следующую строку:
так что у вас есть
Запустите службу снова, и вы сможете войти в свою базу данных без пароля.
Как вернуть контроль над пользователем root в MySQL.
ОПАСНОСТЬ: РИСКОВАЯ ОПЕРАЦИЯ
- Запустите сессию ssh (используя root, если это возможно).
редактировать my.cnf использование файла.
Добавить строку в блок mysqld.*
Сохранить и выйти.
Перезапустите службу MySQL.
Проверьте статус сервиса.
Подключитесь к mysql.
Использование основной базы данных.
Переопределить пароль пользователя root.
Отредактируйте файл my.cnf.
Сохранить и выйти.
Перезапустите службу MySQL.
Проверьте статус сервиса.
Подключиться к базе данных.
Введите новый пароль при появлении запроса.
Это действие очень опасно, оно позволяет любому подключаться ко всем базам данных без ограничений без имени пользователя и пароля. Он должен использоваться осторожно и должен быть быстро изменен, чтобы избежать рисков.
Попробовав много вещей, вот что сработало для меня:
Итак, сначала мы используем sudo для входа в mysql как root без пароля. Затем мы просто обновляем пароль root.
После этого я перезапустил mysqld :
И newpassword залогинился в!
В системе Linux вы можете сделать следующее (должно быть похоже на другие ОС)
Проверьте, запущен ли процесс mysql:
Если он запущен, остановите процесс: (Убедитесь, что вы закрыли все инструменты mysql)
Если у вас есть проблемы с остановкой, сделайте следующее
Поиск процесса: ps aux | grep mysqld Убить процесс: kill -9 process_id
Теперь запустите MySQL в безопасном режиме с пропуском гранта.
Я в Windows 10, используя сервер WAMP64. Искал для my.cnf а также my.ini , Найденный my.ini в C:\wamp64\bin\mariadb\mariadb10.2.14 ,
Следуя инструкциям коллег:
- Открыл меню быстрого запуска с Wampserver, выбрал «Остановить все сервисы»
- открытый my.ini в текстовом редакторе искал [mysqld]
- добавленной ‘skip-grant-tables’ в конце [mysqld] раздел (но внутри него)
- Сохраните файл, оставьте редактор открытым
- В меню Wampserver выберите «Перезапустить службы». Появится предупреждение о skip-grant-tables вариант
- В меню Wampserver выберите MySQL, чтобы открыть приглашение
- Он попросил пароль, просто нажмите Enter
- Вставьте команду ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘newpassword’;
- Он должен сообщить, что операция прошла успешно (таблицы не затронуты)
- в my.ini файл, стереть ‘skip-grant-tables’ строка, сохраните файл
- В меню WampServer выберите еще раз Restart Service
Теперь вы можете войти с новым паролем. Спасибо за все ответы здесь.
ИТ База знаний
Курс по Asterisk
Полезно
— Узнать IP — адрес компьютера в интернете
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Калькулятор инсталляции IP — АТС Asterisk
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Популярное и похожее
Курс по сетям
Что такое Active Directory и LDAP?
URL и URI — в чем различие?
Погружение в Iptables – теория и настройка
В чем разница между HTTP и HTTPS?
Сборы и кластеризация текста с учетом контекста
Что такое API? Простая статья для вашей бабушки
PHPUnit тестирование – проще простого
Еженедельный дайджест
Как сбросить root пароль на MySQL?
Keep calm and reset your password
3 минуты чтения
Может так случиться, что вы забудете или потеряете свой root пароль MySQL, но не стоит отчаиваться – его можно сбросить и восстановить доступ. Что нам нужно знать так это то, что пароль хранится в таблице пользователей. Это означает, что нам нужно найти способ обойти аутентификацию MySQL, чтобы мы могли обновить запись пароля.
Обучайся в Merion Academy
Пройди курс по сетевым технологиям
Начать
К счастью, это легко сделать, и это руководство проведет вас через процесс восстановления или сброса пароля root в версии MySQL 8.0.
Согласно документации по MySQL, существует два способа сброса корневого пароля MySQL и в этой статье мы рассмотрим оба.
Сброс MySQL root пароля с использованием –init-file
Один из способов сброса пароля root — создать локальный файл, а затем запустить службу MySQL, используя параметр —init-file, как показано ниже:
Важно убедиться, что файл доступен для чтения пользователю mysql. В этот файл вставьте следующее и измените «new_password» на пароль, который вы хотите использовать:
Теперь убедитесь, что служба MySQL остановлена. Вы можете сделать следующее:
Далее запустите следующее:
Это запустит службу MySQL и во время процесса выполнит созданный вами файл инициализации, и, следовательно, пароль для пользователя root будет обновлен. Обязательно удалите файл после сброса пароля.
После этого обязательно остановите сервер и запустите его как обычно.
Теперь вы должны иметь возможность подключиться к серверу MySQL от имени пользователя root, используя новый пароль.
Сброс MySQL root пароля с использованием –skip-grant-tables
Второй вариант — запустить службу MySQL с параметром —skip-grant-tables. Это менее безопасно, так как пока служба запускается таким образом, все пользователи могут подключаться без пароля.
Если сервер запущен —skip-grant-tables, опция для —skip-network активируется автоматически, поэтому удаленные подключения не будут доступны.
Сначала убедитесь, что служба MySQL остановлена.
Затем запустите службу с помощью следующей опции.
Теперь вы можете подключиться к серверу MySQL, просто используя:
Поскольку управление учетными записями отключается при запуске службы с параметром —skip-grant-tables, нам придется перезагрузить гранты. Таким образом, мы сможем изменить пароль позже:
Теперь вы можете выполнить следующий запрос, чтобы обновить пароль. Обязательно замените «new_password» реальным паролем, который вы хотите использовать.
Теперь остановите сервер MySQL и запустите его как обычно.
Теперь вы сможете подключиться с новым паролем:
Сброс пароля root в MySQL
Для доступа к базе данных MySQL или MariaDB нужно ввести имя пользователя и пароль. Во время установки автоматически создаётся учётная запись пользователя root. Это аналог суперпользователя в Linux для MySQL. Он может выполнять все действия со всеми базами данных, а также создавать и удалять других пользователей.
Обычно, пароль для него не устанавливается, и вы можете задать его вручную уже после завершения установки. Но если вы забыли пароль или он был установлен автоматически, но вы его не знаете, то вам может понадобится его сбросить. Это можно сделать несколькими способами. В этой статье мы разберём, как выполняется сброс пароля root MySQL.
В статье я буду использовать Ubuntu и MariaDB, но эта инструкция подойдёт и для других дистрибутивов. В командах с systemctl для Mariadb следует использовать mariadb, а для MySQL — mysql или mysqld.
1. Сброс пароля с помощью init-file
При запуске сервиса MySQL можно указать файл, из которого будут выполнены команды sql сразу после запуска. Адрес этого файла указывается опцией —init-file. Но сначала давайте создадим файл, который будет изменять файл нашего пользователя:
UPDATE mysql.user SET password=password(‘новый пароль’) WHERE user=’root’;
Затем остановите сервис, если он запущен:
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:
UPDATE mysql.user SET password=password(‘новый пароль’) WHERE user=’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. Надеюсь, эта информация была для вас полезной.
Нет похожих записей
Оцените статью:
Об авторе
Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.
8 комментариев
Losst, здравствуйте. Извиняюсь за некорректно написанную просьбу (и не в теме), но облазив всю сеть ухитрился проморгать пошаговую настройку убунту на слабом ноутбуке (пользуюсь Тошибой 2005 года выпуска, на Пент4 (дискретный видео), 1,7 гига с 2г озу), хотя в характеристиках пользования линукс указывается развёртывание оси на более меньшей оперативе. Если Вас не затруднит посвятить раздел собственно настройки системы на минимальных характеристиках: сама ось, браузер и минимум программ — офис, плейер, и там по мелочи, без программ требующих особых соответствий ядра и видеокарты..
С уважением.
Поставьте Debian последней версии. Если что-то будет не так с уставкой на Ваш компьютер, то будет видны все проблемы. Debian — это основа UBUNTU. UBUNTU — это производная от Debian. Debian всегда стабилен в отличие от UBUNTU, поверьте .
Андрей, день добрый. Дебиан легче чем Лубунту или нужно искать определённую сборку?
Не понимаю понятия легче или тяжелее. Что это значит — не понимаю!
Многие говорят, что окружение KDE — тяжёлое, о GNOME — лёгкое. Не пойму чем это утверждение обосновано? Пробовал оба окружения. Процессор тратит столько же энергии в обоих окружениях. Нагревается также одинаково. Время загрузки ОС зависит от настройки. Здесь мне вообще не понятно это утверждение. Бред какой-то!
Дебиан стабилен. Убунту сделан на основе Дебиан. В Убунту многое не стабильно работает. В Дебиане, пока пакет (программу) полностью не протестируют, она не попадает в стабильную ветку дистрибутива.
Учиться работать на Linux с основой Дебиан — лучше на самом Дебиан.
Здесь, Вы разберётесь что, да как. Много поймёте для всех вопросов, которые будут возникать с другими дистрибутивами. Далее, мне так кажется, когда разберётесь — Вы станете пользоваться только Debian.
По поводу Вашего компьютера, всегда можно найти кучу информации, как на него установить полностью ОС Дебиан (Яндекс или Гугл Вам в помощь). Официальный сайт Дебиан — https://www.debian.org/
Часто задаваемые вопросы о Debian GNU/Linux — https://www.debian.org/doc/manuals/debian-faq/
Образы для установки — https://www.debian.org/CD/live/index.ru.html
Ещё есть много форумов, где Вы сможете задавать свои вопросы.
Не было ни одного компьютера, на который я бы не поставил Дебиан.
Всё зависит от Вашего хотения. Может у Вас Дебиан сразу поставиться нормально. А, может придётся установить дополнительно пакеты с программами.
—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 нужно вставлять зашифрованные пароли.