Відповіді:
Зупиніть процес MySQL.
Запустіть процес MySQL за допомогою параметра --skip-grant-table.
Запустіть клієнт консолі MySQL за допомогою параметра -u root.
Список усіх користувачів;
SELECT * FROM mysql.user;
Скинути пароль;
UPDATE mysql.user SET Password=PASSWORD('[password]') WHERE User='[username]';
Але НЕ ЗАБУДЬТЕ до
Зупиніть процес MySQL
Запускайте процес MySQL нормально (тобто без параметра --skip-grant-table)
коли ви закінчите. В іншому випадку може бути порушена безпека вашої бази даних.
dpkg-reconfigure mysql-server-5.5команди для скидання кореневого пароля MySQL?
-uігнорується при запуску сервера --skip-grant-tables.
mysql.userназивається password, використовуйте authentication_stringзамість цього.
На жаль, ваш пароль користувача є безповоротним. Він був хеширован одностороннім хешем, який, якщо ви не знаєте, є незворотним. Я рекомендую перейти з Ксенфом Яном вище і просто створити новий.
Ви також можете скористатися наступною процедурою з посібника для відновлення пароля для будь-яких кореневих облікових записів MySQL в Windows:
Меню Пуск -> Панель управління -> Адміністративні інструменти -> Послуги
Потім знайдіть службу MySQL у списку та зупиніть її. Якщо ваш сервер не працює як служба, можливо, вам доведеться скористатися диспетчером завдань, щоб змусити його зупинитись.
Створіть текстовий файл і помістіть у нього такі твердження. Замініть пароль на пароль, який ви хочете використовувати.
UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
FLUSH PRIVILEGES;
UPDATE і FLUSH заяви кожен повинен бути написаний на одному рядку. Оператор UPDATE скидає пароль для всіх існуючих кореневих облікових записів, а оператор FLUSH повідомляє серверу перезавантажити таблиці грантів у пам'ять.
Відкрийте вікно консолі, щоб перейти до командного рядка:
Меню Пуск -> Виконати -> cmd
Запустіть сервер MySQL зі спеціального файлу --init :
C:\> C:\mysql\bin\mysqld-nt --init-file = C:\mysql-init.txt
Якщо ви встановили MySQL в інше місце, ніж C: \ mysql , відрегулюйте команду відповідно.
Сервер виконує вміст файлу, названого --init-файлом при запуску, змінюючи кожен пароль кореневого облікового запису.
Ви також можете додати --console до команди, якщо ви хочете, щоб вихід сервера відображався у вікні консолі, а не у файлі журналу.
Якщо ви встановили MySQL за допомогою майстра установки MySQL, можливо, вам потрібно буде вказати параметр --defaults-file :
C:\> "C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt.exe" --defaults-file="C:\Program Files\MySQL\MySQL Server 5.0\my.ini" --init-file=C:\mysql-init.txt
Відповідний --defaults-файл можна знайти за допомогою диспетчера сервісів:
Меню Пуск -> Панель управління -> Адміністративні інструменти -> Послуги
Знайдіть службу MySQL у списку, клацніть на ній правою кнопкою миші та оберіть опцію Властивості. Поле Шлях до виконуваного файлу містить --defaults-файл налаштування .
Тепер ви зможете підключитися до MySQL як root, використовуючи новий пароль.
mysqld-ntзамість mysqld?
Покращення найкориснішої відповіді тут:
1] Не потрібно перезапускати сервер mysql
2] Турбота про безпеку сервера MySQL, підключеного до мережі
Не потрібно перезапускати сервер MySQL.
використовувати FLUSH PRIVILEGES;після оновлення оператора mysql.user для зміни пароля.
Оператор FLUSH повідомляє серверу перезавантажити таблиці грантів у пам'ять, щоб він помітив зміну пароля.
--skip-grant-optionsДозволяє будь-якому з'єднуватися без пароля і з усіма привілеями. Оскільки це небезпечно, ви, можливо, захочете
використовувати --skip-grant-таблиці спільно з --skip-мережею, щоб запобігти підключенню віддалених клієнтів.
з: посилання: скидання-дозволу-загальне
mysql.user? Однак часто це не так.
Хоча ви не можете безпосередньо відновити пароль MySQL без грубої сили, може бути інший спосіб - якщо ви використовували MySQL Workbench для підключення до бази даних і зберегли облікові дані до "сховища", ви золото.
У Windows дані облікового запису зберігаються у % APPDATA% \ MySQL \ Workbench \ workbench_user_data.dat - зашифровано з CryptProtectData (без додаткової ентропії). Розшифрування легко горохове:
std::vector<unsigned char> decrypt(BYTE *input, size_t length) {
DATA_BLOB inblob { length, input };
DATA_BLOB outblob;
if (!CryptUnprotectData(&inblob, NULL, NULL, NULL, NULL, CRYPTPROTECT_UI_FORBIDDEN, &outblob)) {
throw std::runtime_error("Couldn't decrypt");
}
std::vector<unsigned char> output(length);
memcpy(&output[0], outblob.pbData, outblob.cbData);
return output;
}
Або ви можете перевірити цей потік DonationCoder на джерело + виконуваний файл швидко-брудної реалізації.
Виконайте наступну команду в Терміналі для підключення до СУБД (вам потрібен кореневий доступ):
sudo mysql -u root -p;
запустіть пароль оновлення цільового користувача (для мого прикладу є ім’я користувача, mousaviі він повинен бути паролем 123456):
UPDATE mysql.user SET authentication_string=PASSWORD('123456') WHERE user='mousavi';
в цей момент вам потрібно зробити флеш, щоб застосувати зміни:
FLUSH PRIVILEGES;
Готово! Ви зробили це без будь-якої зупинки та перезапуску служби mysql.
Якщо у вас є кореневий доступ до сервера, на якому працює mysql, слід зупинити сервер mysql за допомогою цієї команди
sudo service mysql stop
Тепер почніть mysql, використовуючи цю команду
sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking &
Тепер ви можете увійти в mysql, використовуючи
sudo mysql
FLUSH PRIVILEGES;
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
Повні інструкції можна знайти тут http://www.techmatterz.com/recover-mysql-root-password/
Увійти в MySql з Windows cmd за допомогою наявного користувача:
mysql -u ім'я користувача -p
Введіть пароль: ****
Потім запустіть таку команду:
mysql> SELECT * FROM mysql.user;
Після цього скопіюйте зашифрований пароль md5 для відповідного користувача, і в Інтернеті є декілька онлайн-програм, розшифрованих паролем. Використовуючи цей дешифруючий пароль і використовуйте його для входу в наступний раз. або оновити пароль користувача за допомогою поточної команди:
mysql> UPDATE mysql.user SET Password=PASSWORD('[password]') WHERE User='[username]';
Потім увійдіть, використовуючи новий пароль та користувача.
Збережіть файл. У цьому прикладі файл буде названий C: \ mysql-init.txt. він запитує адміністративні дозволи на збереження файлу
Хоча для суворої, логічної, інформатики, інтерпретації питання ОП було б вимагати як "Як отримати своє ім'я користувача MySQL", так і "пароль" - я подумав, що комусь може бути корисно також звернутися до АБО тлумачення . Іншими словами ...
1) Як отримати моє ім'я користувача MySQL?
АБО
2) пароль
Ця остання умова, здається, вже була досить чітко вирішена, тому я не буду це турбувати. Далі наведено рішення для випадку "Як я можу отримати своє ім'я користувача MySQL" самостійно. ВІХ.
Щоб знайти ваше ім'я користувача mysql, запустіть такі команди з оболонки mysql ...
ВИБІР користувача з mysql.user;
він надрукує таблицю всіх користувачів mysql.