Mysqld safe skip grant tables

Mysqld safe skip grant tables

В данной статье пойдет речь об ошибке, которая возникает при запуске mysqld в safe режиме, например для того, чтобы сбросить или поменять пароль у root. Я столкнулся с данной ошибкой в Ubuntu.

Описание

При попытке запуска mysqld следующей командой:

Можно столкнуться с такой вот ошибкой:

mysqld_safe Directory ‘/var/run/mysqld’ for UNIX socket file don’t exists.

Данная ошибка может возникать из-за того, что каталога /var/run/mysqld не существует, либо он существует, но его владельцем является другой пользователь, т.е. не хватает необходимых прав на доступ к каталогу.

Исправляем ошибку

Для исправления данной ошибки достаточно сделать следующее:

Данной командой мы создаем каталог /var/run/mysqld . Если у вас уже существует данный каталог, то данный шаг можно пропустить.

Данной командой, мы делаем владельцем каталога пользователя mysql.

После указанных команд, при запуске mysqld в safe режиме, данная ошибка больше не должна появляться.

38 Steven [2009-11-10 17:34:00]

Я заблокировал пользователя root из нашей базы данных. Мне нужно вернуть все привилегии пользователю root. У меня есть пароль, и я могу войти в MySQL. Но пользователь root не имеет всех привилегий.

12 ответов

У меня была такая же проблема, как и название этого вопроса, так что если кто-то еще разобрался с этим вопросом и хочет запустить MySql в режиме "skip-grant-tables" в Windows, вот что я сделал.

Остановите службу MySQL через инструменты администратора, службы.

Измените конфигурационный файл my.ini(предполагая пути по умолчанию)

или для версии MySQL >= 5.6

В разделе SERVER SECURE в разделе [mysqld] добавьте следующую строку:

Запустите службу еще раз, и вы сможете войти в свою базу данных без пароля.

Как вернуть контроль над пользователем root в MySQL.

ОПАСНОСТЬ: РИСКОВАЯ ОПЕРАЦИЯ

Читайте также:  Как заменить видеокарту на ноутбуке asus

    Запустите сессию ssh (используя root, если это возможно).

Отредактируйте файл my.cnf используя.

Добавить строку в блок mysqld. *

Сохранить и выйти.

Перезапустите службу MySQL.

Проверьте статус сервиса.

Подключитесь к mysql.

Использование основной базы данных.

Переопределить пароль пользователя root.

Отредактируйте файл my.cnf.

Сохранить и выйти.

Перезапустите службу MySQL.

Проверьте статус сервиса.

Подключиться к базе данных.

Введите новый пароль при появлении запроса.

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

4 Arpit [2017-12-07 07:30:00]

В системе Linux вы можете сделать следующее (должно быть похоже на другие ОС)

Проверьте, запущен ли процесс mysql:

Если он запущен, остановите процесс: (Убедитесь, что вы закрыли все инструменты mysql)

Если у вас есть проблемы с остановкой, сделайте следующее

Поиск процесса: ps aux | grep mysqld ps aux | grep mysqld kill -9 process_id процесс: kill -9 process_id

Теперь запустите MySQL в безопасном режиме с пропуском гранта.

Попробовав много вещей, вот что сработало для меня:

Итак, сначала мы используем sudo для входа в mysql как root без пароля. Тогда мы просто обновляем пароль root.

После этого я перезапустил mysqld :

И newpassword вошел в систему как root!

Используйте следующую команду (обратите внимание на "d" ): mysqld —skip-grant-tables

2 heesang [2014-01-18 19:35:00]

Если вы используете сервер mysql 5.6 и имеете проблемы с C:Program FilesMySQLMySQL Server 5.6my.ini :

Вы должны перейти к C:ProgramDataMySQLMySQL Server 5.6my.ini .

Вы должны добавить skip-grant-tables , а затем вам не нужен пароль.

Примечание: после завершения работы с skip-grant-tables вы должны восстановить файл C:ProgramDataMySQLMySQL Server 5.6my.ini .

если вы используете Apple MacBook OSX , а затем:

  • Остановите свой сервер MySQL (если он уже запущен).
  • Найдите конфигурационный файл MySQL, my.cnf . (Для меня это было размещено @ /Applications/XAMPP/xamppfiles/etc . Вы можете просто выполнить поиск, если вы не может найти его).
  • Откройте my.cnf файл в любом текстовом редакторе.
  • Добавьте "skip-grant-tables" (без кавычек) в конце раздела [mysqld] и сохраните файл.
  • Теперь запустите свой сервер MySQL. Он начнется с параметра skip-grant-tables .
Читайте также:  1С скопировать файл из папки в папку

Сделайте то, что вы хотите сейчас!

PS: Удалите skip-grant-tables из my.cnf файла, как только вы закончите с тем, что хотите сделать. ELSE MySQL сервер всегда будет работать без доступа.

Измените файл my.ini и добавьте skip-grant-tables и перезапустите сервер mysql:

я попытался добавить skip-grant-tables под [mysqld] в файл my.ini, а затем попытался запустить службу mysql. результат, что служба просто остановилась сразу после запуска при каждой попытке запуска. как только я попытался запустить службу с удалением опции в файле my.ini, служба работает нормально.

0 longneck [2009-11-10 18:15:00]

Если это окно, самое простое — остановить серверы, добавить таблицы пропуска в файл конфигурации mysql и перезапустить сервер.

После устранения проблем с разрешениями повторите описанное выше, но удалите опцию skip-grant-tables.

если вы не знаете, где находится ваш файл конфигурации, затем войдите в mysql send SHOW VARIABLES LIKE ‘%config%’ , и одна из возвращенных строк сообщит вам, где находится ваш файл конфигурации.

0 Ikke [2009-11-10 17:38:00]

У Mysql есть пошаговое руководство для этого:

Я в Windows 10, используя сервер WAMP64. Искал my.cnf и my.ini . Нашел my.ini в C:wamp64inmariadbmariadb10.2.14 .

Следуя инструкциям коллег:

  1. Открыл меню быстрого запуска с Wampserver, выбрал "Остановить все сервисы"
  2. Открыл my.ini в текстовом редакторе, искал [mysqld]
  3. Добавлены ‘skip-grant-tables’ в конце раздела [mysqld] (но внутри него)
  4. Сохраните файл, оставьте редактор открытым
  5. В меню Wampserver выберите "Перезапустить сервисы". Появится предупреждение об опции skip-grant-tables
  6. В меню Wampserver выберите MySQL, чтобы открыть приглашение
  7. Он попросил пароль, просто нажмите Enter
  8. Вставьте команду ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘newpassword’;
  9. Он должен сообщить, что операция прошла успешно (таблицы не затронуты)
  10. В файле my.ini удалите строку ‘skip-grant-tables’ , сохраните файл
  11. В меню WampServer выберите еще раз Restart Service
Читайте также:  Fallout 4 игровое время

Теперь вы можете войти с новым паролем. Спасибо за все ответы здесь.

Навигация

Облако тегов

Мои контакты

mail:
admin@dedicatesupport.com

Партнеры

Друзья

Счетчики

Сброс пароля пользователя root в mysql.

Наша память, к сожалению, нас иногда подводит. И мы никак не можем вспомнить железно, как нам кажется, отпечатанный в памяти пароль. Вы можете сказать, что нужно иметь записную книжку а лучше две, и конечно будете правы. Но. Тем не менее иногда все-таки возникает необходимость восстановления забытого, либо утраченного пароля. Сегодня я опишу простой метод восстановления пароля суперпользователя root для базы данных mysql.

Для этого необходимо выполнить всего несколько шагов.
1. Останавливаем mysql.
service mysqld stop
2. Запускаем mysql следующей командой:

/usr/bin/mysqld_safe —skip-grant-tables —user=root &
3. Запускаем клиента mysql
mysql -u root
4. Выполняем sql запрос
UPDATE mysql.user SET Password=PASSWORD(‘newpwd’) WHERE User=’root’;
где newpwd — новый пароль.
5. Применяем изменения
FLUSH PRIVILEGES;
6. Выходим из mysql клиента выполнив в нем команду exit
7. Перегружаем mysql сервер.
service mysqld restart

Ну и все на этом. Пароль суперпользователя root для базы данных mysql изменен. Добавлю, что конечно же этот метод описан в официальном руководстве по mysql, но может кому пригодится. 🙂

Ссылка на основную публикацию
Adblock detector