2014-02-08 2 views
12

Я слежу these instructions для сброса root пароль для локальной установки MySQL 5.6 на ноутбуке Windows 7.Сброс пароля ROOT в MySQL 5.6

Я остановил службу, созданный Init-файл и побежал следующую команду (как администратор):

"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld" --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.6\my.ini" --init-file=C:\\MySQL-misc\\mysql-init.txt 

Я получил следующее предупреждение :

2014-02 -08 15:44:10 0 [Warning] TIMESTAMP с неявным значением DEFAULT устарел. Используйте опцию --explicit_defaults_for_timestamp server (дополнительную информацию см. В документации).

Поскольку это предупреждение, я не уверен, нужно ли мне что-то исправить, а затем снова переделать процесс.

В настоящее время окно команд по-прежнему включено и не принимает никаких входных данных. Должен ли я принудительно закрыть его или есть что-нибудь, что я могу сделать, чтобы закончить процесс изящно?

UPDATE

Я убил окно командной строки и попытался перезапустить службу. Получил ошибку.

Перезагруженные Windows и служба автоматически запускаются. новыйroot password похоже работа. Я успешно использовал различные функции Workbench, которые требуют пароля.

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

+0

@ Mr.Radica - Я разместил его как ** ОБНОВЛЕНИЕ **. Я думаю, что это может помочь кому-то другому, поэтому я не удалял его. –

+0

Хорошая работа.Вы можете поместить его ниже, а затем принять его. Вы решили свою первоначальную проблему. ;-) –

+0

Я пробовал почти час, следил за инструкциями по руководству MySQL без каких-либо успехов, сбросами привилегий и т. Д. После перезагрузки компьютера он работал. – endo64

ответ

3

Вопрос был разрешен.

Как указано в моем вопросе, я следовал instructions from MySQL manual.

Процесс не пошел точно, как описано (и это было причиной моей должности), но он работал, тем не менее (см UPDATE раздел в моем посте).

36

В Windows:

0) закрыть службу mysql56

1) перейти к C:\ProgramData\MySQL\MySQL Server 5.6, обратите внимание, что ProgramData скрытая папка

2) ищет файл my.ini, откройте его и добавить одну строку skip-grant-tables ниже [mysqld], сохранить

[mysqld] 

skip-grant-tables 

3) начать обслуживание mysql56

4) по праву, вы можете получить доступ к базе данных, запустить mysql

5) и использовать запрос ниже, чтобы обновить пароль

update mysql.user set password=PASSWORD('NEW PASSWORD') where user='root'; 

сведению : для более новой версии используйте authentication_string вместо password

6) выключите сервис еще раз, удалите строка skip-grant-tables сохраните его и запустите службу снова. попробуйте использовать пароль, который вы установили для входа.


На Mac:

0) остановить службу

sudo /usr/local/mysql/support-files/mysql.server stop 

1) пропустить таблицу гранту

sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables 

когда он работает, не закрывайте его, и открыть новое окно терминала

2) перейти в тузд терминал

/usr/local/mysql/bin/mysql -u root 

3) обновить пароль

UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root'; 

для новой версии, как 5.7, используйте

UPDATE mysql.user SET authentication_string=PASSWORD('password') WHERE User='root'; 

4) запустить FLUSH PRIVILEGES;

5) запустите \q, чтобы закрыть

6) запустить сервер MySQL

sudo /usr/local/mysql/support-files/mysql.server start 
+0

downvoted, потому что вы фактически не говорите, где и как подключиться, чтобы запустить инструкцию обновления. быть полным в вашем ответе. –

+0

Вы забыли ФЛЮС ПРИВИЛЕГИИ в 1-м (nonMac) инструкциях? кроме этого, это отлично работало, лучше, чем инструкции по руководству MySQL. – knocte

+2

Следует отметить, что нет столбца «пароль», по крайней мере, не в MySql 5.7. Используйте 'authentication_string', как в ответе @ SatishakumarAwati. –

0

В случае, если вы Xampp установлены.

  1. Гото C: \ XAMPP \ MySQL \ Bin
  2. Открыть мой.ини файл
  3. Поместите skip-grant-tables под [mysqld]
  4. Goto услуг окон и остановить MySQL сервис
  5. Trigger эту команду из командной строки C:\xampp\mysql\bin\mysql
  6. Теперь сбросить пароль администратора с запросом MySQL update mysql.user set password=PASSWORD('root') where user='root';
  7. выйти из командной строки ,
  8. Перезапустите службу mysql windows, которая была отключена на шаге 4.
  9. Теперь вы сможете войти в mysql с помощью пароля как root.
1

Обновление this answer относительно изменений в MySQL 5.7:

0) закрыть службу mysql57

1) перейти к C:\ProgramData\MySQL\MySQL Server 5.7, обратите внимание, что ProgramData скрытая папка

2) ищет файл my.ini, откройте его и добавьте одну строку skip-grant-tables ниже [mysqld], сэкономьте

[mysqld] 

skip-grant-tables 

3) запуск услуги mysql57

4) по праву, вы можете получить доступ к базе данных, запустить MySQL

5) и использовать запрос ниже, чтобы обновить пароль

update mysql.user set authentication_string=password('NEW_PASSWORD') where user='root';

6) снова выключите службу, удалите строку skip-grant-tables и сохраните ее, и снова запустите службу. попробуйте использовать пароль, который вы установили для входа.

6
    сервис
  • Stop Mysql, перейдя в Администрирование> Службы
  • Открыть Пуск> Выполнить> CMD (Запуск от имени администратора)
  • Запуск сервера вручную с помощью этой строки:

    mysqld -P3306 --skip-grant-tables 
    
  • В новом cmd (Запуск от имени администратора) Выполнение:

    mysql -P3306 mysql 
    
  • Выполните следующий запрос в тузд клиента:

    update mysql.user set authentication_string=password('new_password') where user='root'; 
    

Вот оно !!

0

Для MySQL 5.6 для Windows я должен был запустить это заявление, чтобы оно работало.

UPDATE mysql.user 
SET Password=PASSWORD('NEW PASSWORD'), 
authentication_String=PASSWORD('NEW PASSWORD') 
WHERE User='root'; 
Смежные вопросы